内容简介:在前面学习过使用NGUI的内容,可以兼容旧的游戏代码,但是Unity 5.0之后使用UGUI作为主要游戏界面开发,下面就来学习UGUI相关界面的操作内容,比如游戏里经常要显示分数,那么就来学习一下怎么样实现UGUI来显示分数的过程。先要创建一个空的3D工程,如下图:
在前面学习过使用NGUI的内容,可以兼容旧的游戏代码,但是Unity 5.0之后使用UGUI作为主要游戏界面开发,下面就来学习UGUI相关界面的操作内容,比如游戏里经常要显示分数,那么就来学习一下怎么样实现UGUI来显示分数的过程。
先要创建一个空的3D工程,如下图:
接着下来创建一个画布Canvas,画布对象定义了GUI的基本显示区域,它是一个容器,可以在它上面放置按钮、文本和其它部件。如下图来创建一个画布:
在主菜单里选择GameObject/UI/Canvas,就可以创建一个画布如下:
这时候发现左边Hierarchy里添加了Canvas和EventSystem对象,当你选中画布对象之后,再按下键盘上F键,就可以把画布调整到合适的大小,这时看到画布上显示一个很大的矩形。如果你切换到Game窗口里并不能看到这个画布,因为它在游戏运行之后是不会看得到的,它是一个逻辑组件。接着下来要先修改画布的大小,进行如下设置:
在这里选择一个简单的模式,UI Scale Mode选择Scale With Screen Size,表示用户界面根据目标分辨率进行自动拉伸,以保持整体的外观和视觉效果,这是一个简单快捷的UI模式,如果想保持高像素,不要使用这个模式。同时设置屏幕默认分辨率为1920X1080的大小。接着下来在画布上创建一个文本显示控件,如下图:
在主菜单里GameObject/UI/Text,就可以创建一个文本显示控件,如下图:
在这里发现文字显示很小,不仔细地查看,是看不见它的。那么就需要调整这个文本显示框的字体大小了,如下图进行调整:
首先选中Text,然后按键盘F键,再按下左上角拉伸模式,然后就可以调整场景里的文本显示框的大小,再调整右边的字体大小,就可以设置合适的文本显示了。在这里把字体大小修改为60,接着下来要调整文本在游戏窗口的右上角进行显示,如下图:
先要在A处选择移动工具,然后选中B处文本框,再在C处拖动文本框到画布的右上角,就可以把这个分数显示在右上角了,在Game窗口里查看如下:
在这里终于看到文本显示在右上角上面了,不过这里把颜色也修改为白色显示了。接着下来就是把游戏里的分数显示到这个文本里,为了测试显示,把脚本添加在摄像机里,如下图:
在这里添加了脚本Score.cs,脚本里添加一个文本变量,如下修改代码:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Score : MonoBehaviour { public Text ScoreText = null; public static int ScoreTotal = 0; float Count = 0; // Use this for initialization void Start () { ScoreText.text = ScoreTotal.ToString(); } // Update is called once per frame void Update () { Count += Time.deltaTime; if (Count > 3) { Count = 0; ScoreTotal++; } ScoreText.text = ScoreTotal.ToString(); } }
最后需要在界面上设置ScoreText变量与UI上文本Text进行关联,如下拖动:
设置这一步之后,就完成了整个UI与代码的关联,就可以进入play模式查看UI显示分数了,如下图:
在这里看到右上角显示分数,并且不断地变化,其它相应的UI组件也这样设置上去显示。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Java 中如何使用 SQL 查询文本
- 在 Swift 中使用马尔可夫链生成文本
- SnowNLP情感分析使用教程(中文文本处理库)
- 使用Python正则表达式操作文本数据
- C#如何使用PGP公钥简单加密文本文件?
- 数组 – 如何使用颜色进行文本着色而不会减慢进程?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。