我和我的小伙伴们一起学Unity3D(二)

在介绍GUI之前,我们首先要了解脚本,什么是脚本呢,在我看来就是命运之书。作为一个游戏开发者,即使在现实是个屌丝,但在游戏世界,我绝对是万能的上帝,每个游戏对象在我们的世界里都是芸芸众生的一员,都有自己的宿命,那么脚本就是游戏对象的宿命。

         在开始学习之前,大家先到http://download.csdn.net/detail/yy8245075/5972823下载Unity3D帮助文档

         Unity3D最常用的脚本语言有C#和JavaScript,博主推荐使用的是C#,对于语言,如果不深入研究的话,在我看来都是一样的,只要你有面向对象的思想,语言的不同也只是调用的函数不同,所以大家不久纠结于语言,首先我们来看一段代码:

  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class script : MonoBehaviour  
  5. {  
  6.     // Use this for initialization   
  7.     void Start()  
  8. {     
  9.     Debug.Log("Hello");  
  10.     }  
  11.   
  12.     // Update is called once per frame   
  13.     void Update()  
  14.     {  
  15.     }  
  16.     void OnGUI()  
  17.     {  
  18.     }  
  19. }  
using UnityEngine;
using System.Collections;

public class script : MonoBehaviour
{
    // Use this for initialization
    void Start()
{   
	Debug.Log("Hello");
    }

    // Update is called once per frame
    void Update()
    {
    }
    void OnGUI()
    {
    }
}

 

这是我们在Project视图下新建的一个C#脚本,这里面有3个重要的函数:
        Start函数是在游戏开始时执行,且只执行一次,也就是作为上帝的我们为每个生命赋予他的各项属性和天赋。
        Update函数是在游戏运行后,每帧运行1次,它是在不断刷新调用的,主要负责游戏逻辑的更新
        OnGUI函数是在游戏运行后,每帧运行2次,它也是不断刷新调用的,主要负责各种GUI的更新
上边的这段代码在运行后会在控制台输出"hello”,以后这个函数我们会经常用到来调试我们的游戏。
GUI有几个重要的控件:
        Label控件、Button控件、TextField控件、ToolBar控件Slider控件
正所谓授人以鱼,不如授人以渔,我个人是很不喜欢填鸭式的教育的,那下面我已Button控件为大家抛砖引玉,教大家如何通过文档来学习
首先大家打开下载的Unity3D圣典,在索引界面输入"GUI",在右边的类函数一组选择"Button"

 

大家可以看到,button控件的返回值都是bool类型,即监控按钮是否被按下,各个参数在下边的参数列表都有详细的介绍,请大家记住GUIStyle这个参数,日后会为大家详细介绍

  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class Cube : MonoBehaviour {  
  5.     //定义一个贴图   
  6.     public Texture tex;  
  7.     //标志第二个按钮是否显示   
  8.     private bool isShow;  
  9.     // Use this for initialization   
  10.     void Start () {  
  11.         isShow = false;  
  12.     }  
  13.       
  14.     // Update is called once per frame   
  15.     void Update () {  
  16.       
  17.     }  
  18.     void OnGUI()  
  19.     {  
  20.         //实现点击按钮1,按钮2出现   
  21.         if (GUI.Button(new Rect(0, 0, 100, 50), "button1"))  
  22.         {  
  23.             isShow = true;  
  24.         }  
  25.         if (isShow)  
  26.             GUI.Button(new Rect(0, 50, 100, 50), tex);  
  27.     }  
  28. }  
using UnityEngine;
using System.Collections;

public class Cube : MonoBehaviour {
    //定义一个贴图
    public Texture tex;
    //标志第二个按钮是否显示
    private bool isShow;
	// Use this for initialization
	void Start () {
        isShow = false;
	}
	
	// Update is called once per frame
	void Update () {
	
	}
    void OnGUI()
    {
        //实现点击按钮1,按钮2出现
        if (GUI.Button(new Rect(0, 0, 100, 50), "button1"))
        {
            isShow = true;
        }
        if (isShow)
            GUI.Button(new Rect(0, 50, 100, 50), tex);
    }
}


 

关于tex变量的赋值,我们可以这样做。

点击运行:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值