在开始学习之前,大家先到http://download.csdn.net/detail/yy8245075/5972823下载Unity3D帮助文档
Unity3D最常用的脚本语言有C#和JavaScript,博主推荐使用的是C#,对于语言,如果不深入研究的话,在我看来都是一样的,只要你有面向对象的思想,语言的不同也只是调用的函数不同,所以大家不久纠结于语言,首先我们来看一段代码:
- 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()
- {
- }
- }
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这个参数,日后会为大家详细介绍
- 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);
- }
- }
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变量的赋值,我们可以这样做。
点击运行: