本文共 2537 字,大约阅读时间需要 8 分钟。
本节书摘来异步社区《Unity 5.x游戏开发实战》一书中的第2章,第2.2节,作者: Alan Thorn 译者: 李华峰 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。
为游戏定义逻辑、规则和行为的时候,往往需要使用到脚本。如果想将那些静态的、无生命的场景和对象转换成为可以进行交互的环境和对象,那么开发人员就需要编写代码。这些代码定义了这些物体在遇到了指定情况之后,应该做出什么样的反应。金币采集游戏也需要编写代码才能实现所有的功能。这个游戏需要实现3个主要的 功能:
在Unity中并没有包含一个能实现上述功能的模块。所以必须自己来编写一些代码来实现这些功能。Unity中支持两种语言,即UnityScript语言(有时候称之为JavaScript语言)和C#语言。这两种语言功能都很强大,但是本书中主要采用的是C#语言。这是因为从发展的趋势来看,JavaScript的使用率将会逐渐下降。现在开始对这个主要功能进行编程。首先在项目(Project)面板的空白区域单击鼠标右键,然后在弹出的上下文菜单中依次选择“Create | C# Script”,就可以创建一个新的脚本文件。另外,也可以从应用程序菜单处依次选择“Assets | Create | C# Script”来创建一个新的脚本文件,如图2.11所示。
当创建了脚本之后,需要为脚本起一个描述性的名字。本书起的名字为“Coin.cs”。在Unity中,每一个脚本文件都对应一个与其同名的类。因此,“Coin.cs”文件对应的就是“Coin”类。这个“Coin”类将封装一个金币的所有行为,并最终会附加到场景中的金币上,如图2.12所示。
在对象检查(Inspector)面板中双击Coin.cs,就可以使用MonoDevelop打开这个文件。MonoDevelop是一款Unity自带的第三方IDE应用,它可以实现对游戏中的代码进行编写和修改。当一个文件在MonoDevelop中打开之后,它的内容就会如代码示例2.1所示的在MonoDevelop中显示出来。
代码示例2.1:using UnityEngine;using System.Collections;public class Coin : MonoBehaviour{ // Use this for initialization void Start () {} // Update is called once per frame void Update () {}}
注意 代码示例的下载
可以使用自己的账号从 .处下载本书的代码示例。无论你在哪里购买的本书,都可以访问 并进行注册,书中的资源也可以通过电子邮件的形式发送给你。
可以按照如下步骤来下载这些文件:
将这些文件下载了之后,要确定解压缩软件已经更新到了最新的版本:
当一个脚本与一个游戏对象关联到一起之后,这个脚本就作为这个游戏对象的一个组件而存在。一个脚本文件可以添加到多个游戏对象上,甚至可以被多次添加到同一个游戏对象上。每个组件都代表着一个单独而且不同的类的实例化。当一个脚本以这种方式添加进来之后,Unity会自动地调用它的函数,例如Start()和Update()。可以在Start()函数中加入一个Debug.Log语句来确认脚本是否能正常工作,这个语句在场景中的游戏对象被创建时在命令行窗口输出一个调试信息。查看如下所示的代码示例2.2。
代码示例2.2:using UnityEngine;using System.Collections;public class Coin : MonoBehaviour { // start()是初始化函数 void Start () { Debug.Log ("Object Created"); } // Update在每一帧调用一次 void Update () { }}
如果按下工具栏上的“Play”键,或者按下键盘上的“Ctrl + P”组合键,来运行这个向游戏对象上添加了前面的那个脚本的游戏,就会在控制台窗口中看到一条内容为“Object Created”的信息,每当这个类进行实例化的时候,都会输出一次(见图2.14)。
现在已经为Coin类创建了最基本的脚本,并且已经将这个脚本成功附加到了金币对象上。接下来,继续编写一些函数,这些函数将会记录采集过的金币信息。
转载地址:http://zlhtl.baihongyu.com/