Unity 3D\2D手机游戏开发:从学习到产品(第3版)
上QQ阅读APP看书,第一时间看更新

1.3 创建一个Hello World程序

Unity的底层是使用C++开发,但对于Unity的使用者,只允许使用脚本进行具体游戏开发,从而回避了底层的复杂性,降低了开发难度。Unity支持的脚本包括C#和JavaScript,而C#最为流行,本书的范例都是使用C#。

Unity的C#和微软.Net家族中的C#是同一个语言,对于语言本身,二者是差不多的,但Unity的C#是运行在Mono平台上,微软的C#则是运行在.Net平台上,有一些针对Windows平台的专用C#类库,可能无法在Unity中使用。

1.3.1 安装Visual Studio

Unity自带了一个名为MonoDeveloper的工具,用来书写脚本。如果是在PC上开发,建议同时也安装微软Visual Studio的C#部分,可代替MonoDeveloper。

安装完成Visual Studio后,在Unity编辑器的菜单栏中选择【Edit】→【Preferences】打开设置窗口,选择【External Tools】,在External Script Editor中将外部脚本编辑器设为Visual Studio,如图1-8所示。

图1-8 设置Visual Studio

1.3.2 编写脚本

接下来,我们将使用Unity完成一个Hello World程序,创建一个标准的Windows可执行程序,步骤如下:

步骤 01 启动Unity,创建一个新的工程,在Project窗口中选择【Assets】,然后右击并选择【Create】→【C# Script】创建一个新的C#脚本,将脚本命名为Hello World,如图1-9所示。

图1-9 创建新脚本

步骤 02 双击Hello World脚本文件将其打开,会发现里面已经被自动填充了一些基本代码。我们这里的任务是希望在屏幕上显示“Hello World”,添加代码如下:

        using UnityEngine;
        using System.Collections;
        // 注意脚本的类名与文件名一定要一致
        public class HelloWorld : MonoBehaviour {
            // 在这里初始化
            void Start () {
            }

            // 在这里更新逻辑(每帧)
            void Update () {
            }

            // 在函数OnGUI中定义UI的布局和功能
        void OnGUI()
            {
              // 改变字符的大小
                  GUI.skin.label.fontSize = 100;

                  // 输出文字
                  GUI.Label( new Rect( 10, 10, Screen.width, Screen.height ), "Hello World" );
              }
            }

Hello World是一个类的名称,它继承自Unity的基类MonoBehaviour。

所有的Unity脚本(可以关联到游戏体的脚本)都继承自MonoBehaviour类,Unity脚本没有Main函数入口。

Unity脚本不能使用关键字new创建,因此也没有构造函数。

Start函数即是开始的意思,可以简单地把它理解为一个初始化函数;Update函数也是一个事件触发函数,它在每一帧都会被执行;OnGUI函数专门用来绘制UI界面。注意,在Unity4.6之后,已经不推荐使用OnGUI绘制UI界面。

步骤 03 回到Unity编辑器,在Hierarchy窗口中选择Main Camera,选中摄像机,在菜单栏中选择【Component】→【Scripts】→【Hello World】,将脚本指定给摄像机(或者直接将脚本拖动到摄像机的Inspector窗口中。

运行游戏,即可看到Hello World显示在屏幕上,如图1-10所示。

图1-10 运行游戏

注意,如果是输出中文,需要将代码文件设为UTF-8格式,否则会乱码。方式是在Visual Studio的菜单栏中选择【文件】→【高级保存选项】,将编码设为“UTF-8带签名”即可。

1.3.3 编译输出

下面我们需要把程序编译输出为一个标准的Windows程序。

步骤 01 在菜单栏中选择【File】→【Save Scene As】,将当前关卡保存在Asset目录内,这是一个后缀名为.unity的场景文件。可以看到,我们一共创建了两个文件:一个是脚本文件;另一个是关卡文件,如图1-11所示。

图1-11 脚本和关卡文件

图1-11 添加关卡

步骤 02 确定前面保存的关卡处于打开状态,在菜单栏中选择【File】→【Build Settings】,打开Build Settings窗口,如图1-12所示。选择【Add Current】将当前关卡添加到【Scenes In Build】列表框中(也可以直接将关卡文件拖入框中),只有将关卡添加到这里,它才能被集成到最后创建的游戏中。

图1-12 设置游戏名称

步骤 03 最后还需要进行很多设置,这里我们只设置游戏的名称。在Build Settings窗口中选择【PlayerSettings】,在Inspector窗口中将Product Name设为Hello World,如图1-12所示。

步骤 04 在Build Settings窗口中选择【Build】,然后选择保存路径即可将程序编译成独立运行的标准Windows程序。

本节的示例文件保存在资源文件目录\c01_Hello World中。