unity学习,希望我的博客能给喜欢unity的朋友带来帮助
昨天我们讲了GUI的基础,在界面上添加文字,今天我们接着昨天的GUI基础往下学习,利用GUI来设计登录注册界面,并且来实现两视图之间的跳转。
先来看看要完成这个用到的基本知识点:
类函数
Label:在屏幕上创建一个文本或纹理标签
Box:创建一个图形盒
Button:创建一个按钮,用户点击的时候触发一些事件
TextField:创建单行文本字段,用户可以编辑字符串
PasswordField:创建密码文本字段,用户可以输入密码
TextArea:创建多行文本区域,用户可以编辑字符串
RepeatButton:创建一个按钮,只要用户按着不放,将一直被激活
类变量
skin:全局皮肤使用,可以用来设置字体的大小:GUI . skin . label . fontSize=10;
color:GUI全局颜色,可以用来设置字体颜色:GUI . color=Color . red;
Application:跳转
跳转到其他视图:Application . LoadLevel ("要跳转到的视图的名称 ");
跳转到本视图:Application . LoadLevel ("Application . loadedLevelName ");
退出游戏:Application . Quit();
接下来运用上述知识点来实现视图跳转,要实现的效果图如下:
代码如下:
//注册界面的代码
- using UnityEngine;
- using System.Collections;
- public class Login : MonoBehaviour {
- //定义变量
- public Texture img;
- string str = " ";
- string str1 = " ";
- string str2 = " ";
- string str3 = " ";
- void OnGUI()
- {
- GUI.Label(new Rect(100, 50, 100, 20), "欢迎注册");
- GUI.Label(new Rect(50, 70, 100, 20), "姓名");
- str = GUI.TextField(new Rect(80, 70, 100, 20), str);//输入姓名
- GUI.Label(new Rect(50, 90, 100, 20), "密码");
- str1 = GUI.PasswordField(new Rect(80, 90, 100, 20), str1, "*"[0]);//输入密码
- GUI.Label(new Rect(50, 110, 100, 20), "年龄");
- str2 = GUI.TextField(new Rect(80, 110, 100, 20), str2);//输入密码
- GUI.Label(new Rect(50, 130, 100, 20), "简介");
- str3 = GUI.TextArea(new Rect(80, 130, 150, 70), str3);//输入简介
- GUI.Label(new Rect(50, 200, 100, 20), "头像");
- GUI.Label(new Rect(80, 200, 100, 100), img);//显示头像图片
- //点击注册按钮跳转到登录视图
- if (GUI.Button(new Rect(70, 300, 50, 20), "注册"))
- {
- Application.LoadLevel("Register");
- }
- //点击取消按钮清空文字
- if (GUI.Button(new Rect(130, 300, 50, 20), "取消"))
- {
- str = " ";
- str1 = " ";
- str2 = " ";
- str3 = " ";
- }
- }
- }
//登录界面的代码
- using UnityEngine;
- using System.Collections;
- public class Register : MonoBehaviour {
- public Texture img;
- string str = " ";
- string str1 = " ";
- void OnGUI()
- {
- GUI.Label(new Rect(100, 50, 100, 20), "请登录");
- GUI.Label(new Rect(50, 70, 100, 20), "姓名");
- str = GUI.TextField(new Rect(80, 70, 100, 20), str);
- GUI.Label(new Rect(50, 90, 100, 20), "密码");
- str1 = GUI.PasswordField(new Rect(80, 90, 100, 20), str1, '*');
- GUI.Label(new Rect(50, 110, 100, 20), "头像");
- GUI.Label(new Rect(80, 110, 100, 100), img);
- GUI.Button(new Rect(70, 220, 50, 20), "登录");
- if (GUI.Button(new Rect(130, 220, 50, 20), "取消"))
- {
- str = " ";
- str1 = " ";
- }
- }
- }
如果完成了这些界面,千万不要忘了把视图拖放带Build Settings 中,否则是出不来效果的
更多精彩请点击 http://www.gopedu.com/article