Unity UI设计 软件构造实验报告

这篇具有很好参考价值的文章主要介绍了Unity UI设计 软件构造实验报告。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验1: 仿真系统的UI主界面设计

1.实验目的

(1)熟悉Unity中UI界面的设计与编写;

(2)熟悉UI界面中场景转换,UI与场景内容相互关联的方式。

(3)熟悉Unity中MySQL数据库的操作

2.实验内容

新建一个Unity场景,在此场景中实现如下功能:

(1)自行设计一个登录、注册UI界面;

(2)添加数据库的动态链接库文件,提前设计数据库表格(自行设计);

(3)连接数据库,实现增、删、改、查等数据库对用户的操作;

(4)UI界面中包括canvas、Image、RawImage、Button等多种UI元素;

(5)实现点击Play按钮转换场景,点击Exit退出游戏的功能;

(6)实现主界面添加音量滑动杆、静音等功能,添加背景音乐和音效音乐;

(7)为UI界面单独设置一个场景,并设置编号为0。

3.实验步骤

第一步:创建UI界面

(1)创建画布,附加背景

创建canvas作为画布,接着创建Raw Image和Image去实现基础背景的搭建

Unity UI设计 软件构造实验报告,unity,ui,游戏引擎

 附加图片,并拖拽到和画布一样大小,背景设计完成。

(2)添加交互组件

首先添加InputField组件 作为我们的输入框,去实现账号密码框的设计

右键-->UI--->InputField

Unity UI设计 软件构造实验报告,unity,ui,游戏引擎

可以修改下面的TEXT去修改 输入框的默认内容

接着,添加Text 去搭建一个基本的登录框

Unity UI设计 软件构造实验报告,unity,ui,游戏引擎

添加Button组件,设计登录,注册,退出按钮。

Unity UI设计 软件构造实验报告,unity,ui,游戏引擎

一个简易的登录注册页面完成

Unity UI设计 软件构造实验报告,unity,ui,游戏引擎

接着,添加Dropdown,Toggle,Slider组件 进行排版得到完整的UI界面

Unity UI设计 软件构造实验报告,unity,ui,游戏引擎

第二步:实现交互功能

第四步,添加脚本代码实现功能

  1. 添加背景音乐,制作静音,调节音量功能

右键--->Audio  添加一个音乐组件

导入音乐素材,拖入Audio组件中

Unity UI设计 软件构造实验报告,unity,ui,游戏引擎

添加脚本实现音量静音与控制

勾选toggle实现,静音

 private void PlayMusic(bool arg0)

 {

     if (arg0)

     {

         ads.Pause();

     }

     else

     {

         ads.Play();

     }

 }

根据布尔值 判断是否勾选,如果勾选了静音按钮,就关闭音乐

拖动slider实现控制音量

 private void ChangeVolume(float arg0)

 {

     ads.volume = arg0;

 }

2.连接数据库,实现登录注册功能

第一步:在官网下载插件MySQL Connector Net

下载安装完成后,添加数据库的动态链接库文件

Unity UI设计 软件构造实验报告,unity,ui,游戏引擎

第二步:创建一个空对象,附加脚本实现连接

/*
 实现登录注册功能
登录:获取输入框中的字符串--->连接并打开数据库--->查找用户名密码
Y = --->对比密码-->Y=-->关闭数据库--->登录成功
Y = --->对比密码-->N=-->关闭数据库--->登录失败
N = --->关闭数据库--->登录失败
注册:获取输入框中的字符串--->连接并打开数据库--->查找用户名密码
Y =>关闭数据库 --->注册失败
N => 添加用户名密码--->关闭数据库--->注册成功
分解:
1.连接并打开数据库
2.查找用户名密码
3.关闭数据库
4.对比密码
5.添加用户名和密码
接口:登录1234 注册1235
对象:GUI对象 输入框*2 按钮*2,文本
     数据库:MySQLConnection,..Command...Reader
     字符串
*/

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using MySql.Data.MySqlClient;
using System;
using UnityEngine.SceneManagement;

public class Component9 : MonoBehaviour
{
    public InputField inputField1;
    public InputField inputField2;
    public Button button1;
    public Button button2;
    public Text Tip;

    MySqlConnection sqlConnection;
    string strConn = "server=localhost;port=3306;Username=root;password=root;Database=2113042122wxh;charset=utf8;";

    string username;
    string password;
    string usernameDB;
    string passwordDB;


    // Start is called before the first frame update
    void Start()
    {
        button1.onClick.AddListener(Login);
    }
    public void Login()
    {
        username = inputField1.text;
        password = inputField2.text;

        ConnectDB();
        SelectDB(username);
        CloseDB();
        CompareDB(password);
    }

    private void CompareDB(string password)
    {
        if(username == usernameDB&&password == passwordDB)
        {
            SceneManager.LoadScene(1);
        }
        else
        {
            Tip.text = "登录失败";
        }
    }

    private void CloseDB()
    {
        if (sqlConnection.State.ToString() == "Open")
        {
            sqlConnection.Close();
            Debug.Log(sqlConnection.State);
        }
    }

    private Boolean SelectDB(String n)
    {
        string strSql = "select * from tb_user where username = '" + n + "';";
        using (MySqlCommand mySqlCommand = new MySqlCommand(strSql, sqlConnection))
        {
            //执行ExecuteNonQuery()方法
            using (MySqlDataReader reader = mySqlCommand.ExecuteReader())
            {
                while (reader.Read())
                {
                    usernameDB = reader.GetString(1);
                    passwordDB = reader.GetString(2);
                    return true;
                }
            }
        }
        return false;
    }


    public void ConnectDB()
    {
        try
        {
            sqlConnection = new MySqlConnection(strConn);
            sqlConnection.Open();
            Debug.Log(sqlConnection.State);
        }
        catch (Exception)
        {

            throw;
        }
    }

    public void Register()
    {
        username = inputField1.text;
        password = inputField2.text;
        //连接打开数据库
        ConnectDB();
        //查找用户名密码
        if (SelectDB(username) == true)
        {
            Tip.text = "用户存在";
        }
        else
        {
            if (AddDB(username, password) == 1)
            {
                Tip.text = "添加成功";
            }
            else
            {
                Tip.text = "添加失败";
            }

        }

        CloseDB();

    }

    private int AddDB(string n, string p)
    {
        //写sql语句
        string strSql = "insert into tb_user(username,password) values ('" + n + "','" + p + "')";

        //创建MySQL对象
        using (MySqlCommand mySqlCommand = new MySqlCommand(strSql, sqlConnection))
        {
            //执行ExecuteNonQuery()方法
            mySqlCommand.ExecuteNonQuery();
        }
        return 1;
    }
}

4.实验心得

省略文章来源地址https://www.toymoban.com/news/detail-752761.html

到了这里,关于Unity UI设计 软件构造实验报告的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Unity UI交互设计方法

    Unity开发工具并选择用UGUI来设计和制作界面。Unity是个很强大工具,能把项目导出发布到众多平台上运行,无论你是做游戏还是做手机应用APP,它都可以很好的满足你的要求。手机APP的应用中更多的是界面的交互和操作,那么做好UI界面的设计和实现良好的界面操作尤为重要。

    2024年02月06日
    浏览(7)
  • Unity学习记录——UI设计

    Unity学习记录——UI设计

    ​ 本文是中山大学软件工程学院2020级3d游戏编程与设计的作业8 1.相关资源 ​ 本次项目之中的人物模型来自Starter Assets - Third Person Character Controller | 必备工具 | Unity Asset Store ​ 此处使用了以下路径的 PlayerArmature 预制,这个预制人物模型可以进行行走奔跑跳跃等动作,很适合

    2024年02月04日
    浏览(8)
  • Unity3D学习之UI系统——用NGUI制作游戏登陆界面

    Unity3D学习之UI系统——用NGUI制作游戏登陆界面

    会省略一些东西,可以看我的NGUI的博客 设置UI分辨率自适应 设置Root 的层级 和摄像机渲染的层级为UI 主摄像机不渲染UI 一般都是美术给一个示意图,然后按示意图上拼面板 3.1.1 制作图集 制作两个新图集 3.1.2 拖面板 检查DrawCall 3.1.3 面板基类 创建面板基类, 首先设置成单例

    2024年02月19日
    浏览(16)
  • unity 前端场景搭建UI框架的设计

    基础组件库:设计一套基础组件库,包括常用的 UI 控件,如文本、按钮、图像等,组件库的设计应该尽量简单易用,方便开发者快速搭建 UI 界面。 布局管理器:为了方便 UI 界面的排版,需要设计一套布局管理器,如水平布局、垂直布局、网格布局等,布局管理器应该支持自

    2024年02月16日
    浏览(8)
  • Unity UI设计 Text文本无法正常显示

    Unity UI设计 Text文本无法正常显示

    Unity UI设计 Text文本无法正常显示 如下图, 笔者已在Text文本框中设置文本为10, 但是Text文本框并没有显示 适当拉大Text文本框或缩小Text文本字体大小 对于笔者而言, 由于Text文本框较小, Text文本字体较大,导致Text文本字体无法正常显示。 当然,读者所遇到的情况可能与笔

    2024年02月16日
    浏览(14)
  • 基于C#+unity的2D跑酷闯关对战冒险游戏设计 课程报告+答辩PPT+源码

    基于C#+unity的2D跑酷闯关对战冒险游戏设计 课程报告+答辩PPT+源码

    目录 项目说明 1 1.1. 项目目标 1 1.2. 软硬件环境需求 2 1.3. 使用的关键技术 2 需求分析 2 2.1. 系统用例 2 2.2. 业务流程 3 概要设计 4 3.1. 功能模块设计 4 3.2. 核心类图 5 界面设计 5 选题— 2D跑酷闯关对战游戏 选题动机:因为本学期学习的语言主要是C#,而unity主要是与C#语言结合密

    2023年04月08日
    浏览(50)
  • 「Unity入门」Step by Step的太空清理垃圾游戏Part 3:飞船移动与UI

    「Unity入门」Step by Step的太空清理垃圾游戏Part 3:飞船移动与UI

    完成基础的太空场景后,我们就可以来实现一些可交互的操作了。在这个游戏中主要可交互的操作有控制飞船飞行方向和点按垃圾收集。在游戏开始后,飞船会以恒定的速度向前方移动,用户则可以摇杆来控制飞船左右、上下转动。通过除此之外,还有切换前后镜头、加速等

    2024年02月01日
    浏览(12)
  • 【游戏开发小技】Unity通过UI全屏图来模糊场景画面(Shader | 模糊 | 滤镜 | Blur)

    【游戏开发小技】Unity通过UI全屏图来模糊场景画面(Shader | 模糊 | 滤镜 | Blur)

    一、前言 嗨,大家好,我是新发。 以前我写文章都是很长很长,接下来我会尝试用新的方式来写博客,尽量简短,以实用为主。同时也是作为自己零碎的一些记录,方便查阅。 本文我要说的是在 Unity 中通过 UI 全屏图来模糊场景画面的效果。 二、效果演示 这是没用模糊效果

    2024年02月05日
    浏览(10)
  • Unity数字孪生UI设计——Text字体模糊处理

    Unity数字孪生UI设计——Text字体模糊处理

    问题描述: 使用Text控件之后,看上去感觉没啥问题,但是一旦运行项目就变得非常模糊,想截个高清的场景图都不行 解决方法: 1、修改text对应的width和Height,使得他变成原来的2倍 2、修改scale,改成原来的0.5倍,这样一来一去就使得原来的大小起始并没有改变 3、修改字体

    2024年02月12日
    浏览(11)
  • 23. Unity - 3D游戏开发小计02 --- 动画结束UI、导航网格代理、场景搭建插件(ProGrids,ProBuilder,Polybrush)

    23. Unity - 3D游戏开发小计02 --- 动画结束UI、导航网格代理、场景搭建插件(ProGrids,ProBuilder,Polybrush)

    1. 动画结束UI 一个游戏在通过后,都是需要一个界面显示当前游戏已经结束,即需要给游戏添加一个结束的界面,可以做一个简单的游戏结束界面,用一个图片展示: 首先在 层级窗口 添加两层UI中的Image,其中第一层的Image仅作背景,可将其填充颜色设置为纯黑色,第二层的

    2024年02月05日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包