![Unity 3D\2D手机游戏开发:从学习到产品(第4版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/438/47217438/b_47217438.jpg)
1.3 创建一个Hello World程序
提示
我们假设读者已经具备了一定的编程基础,如果读者从未编写过一个C#程序,请参考本书附录的C#快速入门教程,从零开始至少两周左右的学习效果比较好。
Unity的底层是使用C++开发,但对于Unity的使用者,只允许使用脚本进行具体游戏开发,从而回避了底层实现的复杂性,降低了开发难度。Unity支持的脚本主要是C#,过去还支持JavaScript和Boo等脚本,都逐渐被淘汰了,本书的范例都是使用C#。
Unity的C#和微软.Net家族中的C#是同一个语言,对于语言本身,二者是差不多的,但Unity的C#是运行在Mono平台上,微软的C#则是运行在.Net平台上,有一些针对Windows平台的专用C#类库,可能无法在Unity中使用。
1.3.1 安装Visual Studio
安装完成Visual Studio后,在Unity编辑器的菜单栏中选择【Edit】→【Preferences】打开设置窗口,选择【External Tools】,在External Script Editor中将外部脚本编辑器设为Visual Studio(早期的Unity自带了一个名为MonoDeveloper的C#编程工具,已经被淘汰),如图1-10所示。
![](https://epubservercos.yuewen.com/48ECB9/26581942401447906/epubprivate/OEBPS/Images/Figure-P19_2826.jpg?sign=1739364755-ml2WSxsjqIiL6VFx7CJWNGwz1oC6oFjh-0-6abe0b53344e1e502de9172101c3ecd3)
图1-10 设置Visual Studio
1.3.2 编写脚本
接下来,我们将使用Unity完成一个Hello World程序,创建一个标准的Windows可执行程序,步骤如下:
步骤01 启动Unity,创建一个新的工程,在Project窗口中选择【Assets】,右击并选择【Create】→【C# Script】创建一个新的C#脚本,将脚本命名为HelloWorld.cs,如图1-11所示。
![](https://epubservercos.yuewen.com/48ECB9/26581942401447906/epubprivate/OEBPS/Images/Figure-P19_2834.jpg?sign=1739364755-OgAksOHihaHFHfCvL189jagetO9j0kQi-0-3e9a230af72cfbe0ab3dc1144cecb60a)
图1-11 创建新脚本
步骤02 双击HelloWorld.cs脚本文件将其打开,会发现里面已经被自动填充了一些基本代码。我们这里的任务是希望在屏幕上显示“Hello World”,添加代码如下:
![](https://epubservercos.yuewen.com/48ECB9/26581942401447906/epubprivate/OEBPS/Images/Figure-P20_51141.jpg?sign=1739364755-ahsZVkQwigsRkEy0dxbMo6Y26L280Gxl-0-3273f7422c19429bec554b32749dd454)
HelloWorld.cs是一个Unity的脚本文件,HelloWorld是类的名称,它继承自Unity的基类MonoBehaviour。注意,Unity没有提供Main函数程序入口,Unity脚本必须作为组件依附于Game Object(游戏体)运行,因此不能使用关键字new创建Unity脚本实例,构造函数的功能也因此受到限制。
Start函数即是开始的意思,可以简单地把它理解为一个初始化函数;Update函数也是一个事件触发函数,它在每一帧都会被执行;OnGUI函数专门用来绘制UI界面,但在Unity4.6之后,已经不推荐使用OnGUI绘制UI界面,这里仅是为了快速显示UI文字。
步骤03 回到Unity编辑器,在Hierarchy窗口中选择Main Camera,选中摄像机,在菜单栏中选择【Component】→【Scripts】→【Hello World】,将脚本指定给摄像机(或者直接将脚本拖动到摄像机的Inspector窗口空白处。
运行游戏,即可看到Hello World显示在屏幕上,如图1-12所示。
![](https://epubservercos.yuewen.com/48ECB9/26581942401447906/epubprivate/OEBPS/Images/Figure-P20_2974.jpg?sign=1739364755-D7RU8khpnmInQfImUc8N4Ayu40wNYVxW-0-624a07a23b7ee57bdb4474cdf947ad9f)
图1-12 运行游戏
在Unity中,万物皆Game Object,摄像机只是一个加载了摄像机脚本的Game Object,实际上,Hello World脚本可以指定给任何Game Object运行。
1.3.3 编译输出
下面我们需要把程序编译输出为一个标准的Windows程序。
步骤01 在菜单栏中选择【File】→【Save Scene As】,将当前关卡保存在Asset目录内,这是一个后缀名为.unity的场景文件。可以看到,我们一共创建了两个文件:一个是脚本文件;另一个是关卡文件,如图1-13所示。
步骤02 确定前面保存的关卡处于打开状态,在菜单栏中选择【File】→【Build Settings】,打开Build Settings窗口,如图1-14所示。选择【Add Current】将当前关卡添加到【Scenes In Build】列表框中(也可以直接将关卡文件拖入框中),只有将关卡添加到这里,它才能被集成到最后创建的游戏中。
![](https://epubservercos.yuewen.com/48ECB9/26581942401447906/epubprivate/OEBPS/Images/Figure-P21_3017.jpg?sign=1739364755-VCjycXggxwNTqsE6GDwT4xoKRPDbYscT-0-ec318beaa3b36450448d055e796aef60)
图1-13 脚本和关卡文件
![](https://epubservercos.yuewen.com/48ECB9/26581942401447906/epubprivate/OEBPS/Images/Figure-P21_2990.jpg?sign=1739364755-jPHjvy9SJqlH46J5cl97nH4vL97AQhbZ-0-6ab09aeba7eeebaa7c28f3517d46c63f)
图1-14 添加关卡
步骤03 最后还需要进行很多输出设置,这里我们只设置游戏的名称。在Build Settings窗口中选择【PlayerSettings…】,在Inspector窗口中将Product Name(产品名称)设为Hello World,如图1-15所示。
![](https://epubservercos.yuewen.com/48ECB9/26581942401447906/epubprivate/OEBPS/Images/Figure-P21_3003.jpg?sign=1739364755-d5B0w84uFNNtGxrZfhvhoQc5sCTDpZ6z-0-2fd454e4cf0d64e06a8db418f4ba7a9d)
图1-15 设置游戏名称
步骤04 在Build Settings窗口中选择【Build】,然后选择保存路径即可将程序编译成独立运行的标准Windows程序。
本节的示例文件保存在资源文件目录\c01_Hello World中。