unity学习之用GUI实现视图的跳转

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();


接下来运用上述知识点来实现视图跳转,要实现的效果图如下:


    


代码如下:


//注册界面的代码

  1. using UnityEngine;
  2. using System.Collections;

  3. public class Login : MonoBehaviour {
  4.     //定义变量
  5.     public Texture img;
  6.     string str = " ";
  7.     string str1 = " ";
  8.     string str2 = " ";
  9.     string str3 = " ";

  10.     void OnGUI()
  11.     {
  12.         GUI.Label(new Rect(100, 50, 100, 20), "欢迎注册");
  13.         GUI.Label(new Rect(50, 70, 100, 20), "姓名");
  14.         str = GUI.TextField(new Rect(80, 70, 100, 20), str);//输入姓名
  15.         GUI.Label(new Rect(50, 90, 100, 20), "密码");
  16.         str1 = GUI.PasswordField(new Rect(80, 90, 100, 20), str1, "*"[0]);//输入密码
  17.         GUI.Label(new Rect(50, 110, 100, 20), "年龄");
  18.         str2 = GUI.TextField(new Rect(80, 110, 100, 20), str2);//输入密码
  19.         GUI.Label(new Rect(50, 130, 100, 20), "简介");
  20.         str3 = GUI.TextArea(new Rect(80, 130, 150, 70), str3);//输入简介
  21.         GUI.Label(new Rect(50, 200, 100, 20), "头像");
  22.         GUI.Label(new Rect(80, 200, 100, 100), img);//显示头像图片
  23.         
  24.         //点击注册按钮跳转到登录视图
  25.         if (GUI.Button(new Rect(70, 300, 50, 20), "注册"))
  26.         {
  27.             Application.LoadLevel("Register");
  28.         }
  29.         //点击取消按钮清空文字
  30.         if (GUI.Button(new Rect(130, 300, 50, 20), "取消"))
  31.         {
  32.             str = " ";
  33.             str1 = " ";
  34.             str2 = " ";
  35.             str3 = " ";
  36.         }
  37.     }
  38. }

//登录界面的代码


  1. using UnityEngine;
  2. using System.Collections;

  3. public class Register : MonoBehaviour {
  4.     public Texture img;
  5.     string str = " ";
  6.     string str1 = " ";

  7.     void OnGUI()
  8.     {
  9.         GUI.Label(new Rect(100, 50, 100, 20), "请登录");
  10.         GUI.Label(new Rect(50, 70, 100, 20), "姓名");
  11.         str = GUI.TextField(new Rect(80, 70, 100, 20), str);
  12.         GUI.Label(new Rect(50, 90, 100, 20), "密码");
  13.         str1 = GUI.PasswordField(new Rect(80, 90, 100, 20), str1, '*');
  14.         GUI.Label(new Rect(50, 110, 100, 20), "头像");
  15.         GUI.Label(new Rect(80, 110, 100, 100), img);
  16.         GUI.Button(new Rect(70, 220, 50, 20), "登录");
  17.         
  18.         if (GUI.Button(new Rect(130, 220, 50, 20), "取消"))
  19.         {
  20.             str = " ";
  21.             str1 = " ";
  22.         }
  23.     }
  24. }

如果完成了这些界面,千万不要忘了把视图拖放带Build Settings 中,否则是出不来效果的


       


更多精彩请点击 http://www.gopedu.com/article



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值