使用Unity 3D搭建一个游戏界面,基于UGUI,容易上手,是学习UI以及按钮点击事件的不错案例。
环境:Unity 5.6.1,Visual studio 2019。
第一步:
打开一个新的Unity3D场景,在Unity Hierarchy界面新建一个canvas,重命名为LoginPanel,接着在LoginPanel下新建两个UI——>Text,重命名为Usernameu以及Password。字体大小以及颜色,在Inspector中自行设置即可。可以在Canvas中的source Image中设置自己喜欢的背景图片。同理,新建第二个Canvas,重命名为MainPanel,这里是为了进行场景跳转,当我们输入用户名,密码之后跳转到游戏场景。
输入框设置
第二步:接下来在Canvas父物体上建立两个输入框,分别对应用户名以及用户密码,这里的输入框重命名为UsernameInput以及PasswordInput,输入框属性可以自定义设置。输入框下有两个子物体,分别是Placeholder以及Text,分别是对应提示信息,以及用户输入信息。
Text设置
第三步:在Canvas父物体上同样新建两个Button,重命名为Login以及Cancel,分别调整大小,布局,最终搭建效果如下。
搭建效果
第四步:脚本控制。在Assets面板下新建folder——>Scripts,新建脚本,LoginClick.cs,使用VS打开进行编辑。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class LoginClick : MonoBehaviour,IPointerClickHandler
{
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class LoginClick : MonoBehaviour,IPointerClickHandler
{
public GameObject LoginPanel;
public GameObject mainPanel;
public GameObject canvas;
public GameObject RegisterPanelGo;
public GameObject MessagePanel;
void Start () {
canvas = GameObject.Find("Canvas");
LoginPanel = GameObject.Find("LoginPanel");
mainPanel = canvas.transform.Find("MainPanel").gameObject;
LoginPanel = canvas.transform.Find("LoginPanel").gameObject;
}
public void OnPointerClick(PointerEventData eventData){
LoginPanel.gameObject.SetActive(false);
mainPanel.gameObject.SetActive(true);
}
#region 注册登录界面
public InputField inputName;
public InputField inputPaswd;
public void OnStartButtonCLick()
{
if (inputName.text.Trim() == "1" && inputPaswd.text.Trim() == "1")
{
Debug.Log("登录成功!");
RegisterPanelGo.SetActive(false);
}else{
Debug.Log("登录失败!");
}
}
public void OnBackButtonClick(){
Application.Quit();
}
public void OnShowMessageButton(){
MessagePanel.SetActive(true);
}
public void AlreadyKnowButton(){
MessagePanel.SetActive(false);
}
#endregion
public void OnButtonExit(){
Application.Quit();
}
}
第五步:
我们将刚才建立的脚本挂载到Login的Button上设置按钮点击事件。在Hierarchy中点击Login Button,在Inspector中看到Button Script下OnClick()点击事件。设置方法如下:
OnClick
1.选择RunTime Only。
2.将Login按钮拖动到Runtime Only下。
3.点击事件选择,LoginClick.OnStartButtonClick方法。
这里的含义就是指当我们点击Login按钮之后会在LoginClick脚本中运行OnStartButtonClick方法。
第六步:
设置GameObject,方法同上,这里我们建立的Text或者是Button都可以称为GameObject,可以在外部实例化。
响应的GameObject拖到框内。
第七步:运行查看效果。
登录界面
MainPanel界面,出现此界面表示成功登录。
这就是如何在Unity 3D中使用UGUI搭建一个简单的游戏界面。如有问题请留言。
请登录后查看评论内容