图4.4 粒子系统
图4中所示的参数设置在运行后出现的效果是一个下雪的效果。具体各个参数的意思,在这就不赘述了,举几个常用的参数。Looping是否循环,比如此下雪的粒子效果,当然要他循环,再如爆炸之类的就不需要循环。Start Speed初始速度,可以设置一个参数,也可以设置两个,即在这两个参数之间随机产生一个参数,这个比较常用,Start Scale用法与Start Speed类似。
4.4 函数
不管用什么编程语言,创建的脚本都必须继承MonoBehaviour类,他包括了许许多多的函数,诸如上述的碰撞检测函数。如果在检视器里面修改了脚本文件的名称,一定要记得在编译器里面修改类名,不然就会出现异常的错误。这里介
第 11 页 共 33 页
绍几个常用的函数。
1、MonoBehaviour.OnGUI()接口有许多的属性,如GUI.Label用于绘制列表,它有6个接口:
(1)static function Label(position:Rect, text:String):void; (2)static function Label(position:Rect, image:Texture):void; (3)static function Label(position:Rect, content:GUIContent):void; (4)static function Label(position:Rect, text:String, style:GUIStyle):void; (5)static function Label(position:Rect, image:Texture, style:GUIStyle):void; (6)static function Label(position:Rect, content:GUIContent, style:GUIStyle): void;
像游戏分数统计等,又如GUI.TextArea用于绘制文本区域,它有4个借口,这里不再赘述。最常用的是GUI.Button,设置各种按钮。所有的GUI属性都可以在检视器里面创建一个GUISkin,来设置个性化的按钮、图片背景等,它有6个借口:
(1) static function Button(position:Rect, text:String):bool; (2) static function Button(position:Rect, image:Texture):bool; (3) static function Button(position:Rect, content:GUIContent):bool; (4) static function Button(position:Rect, text:String, style:GUIStyle):bool; (5) static function Button(position:Rect, image:Texture, style:GUIStyle):bool; (6) static function Button(position:Rect, content:GUIContent, style:GUIStyle):bool;
这里将举例如何使用个性化的按钮,代码如下:
public GUISkin mySkin; void OnGUI() { }
GUI.skin = mySkin;
if(GUI.Button(new Rect(300, 200, 200, 100), “”, GUI.skin.GetStyle(“beginButton”) { }
Application.LoadLevel(“Level”
第 12 页 共 33 页
其中mySkin用来接收在检视器窗口创建的GUISkin游戏对象,在游戏对象里面你可以指定个性化的按钮图片,可以是两张,一张是正常情况下的大小,指定在Custom Styles的Normal和On Normal属性上面,一张是鼠标移动上去的大小,指定在Custom Styles的Hover和On Hover属性上面,如下图4.4。这样就会达到鼠标移动上去按钮变大的效果。
图4.5 个性化按钮
2、MonoBehaviour.Start和MonoBehaviour.Update函数。
MonoBehaviour.Start函数就是对游戏的一些预设,并且在游戏执行的整个周期中,此函数只调用一次。比如隐藏光标:
void Start () { }
通过这样的设置,我们就可以编写响应的代码来实现个性化的光标了。 MonoBehaviour.Update函数功能就是在执行完MonoBehaviour.Start函数之后,游戏的每一帧都会执行该函数,来绘制每帧的画面,这是非常重要的,否则游戏将无法运行。精灵动画的函数就必须放在这里面。
Screen.showCursor = false;//隐藏光标 // Screen.showCursor = true;显示光标
5 游戏总体设计
5.1 游戏设计准备阶段
在游戏项目准备阶段,最主要的事情就是准备游戏素材,在选材、美工等方
第 13 页 共 33 页
面都有严格的要求。首先是制作按钮,如菜单按钮、退出按钮、选择按钮等等;其次是场景背景图片,力求能表达游戏主题、美观;还有精灵动画序列图的制作,即游戏玩家和敌人;还有游戏失败窗口的制作、飞镖、雪花等等。
5.2 游戏设计制作阶段
在游戏项目的制作阶段,首先创建好六个场景并取好名字。在开始界面,点击开始游戏或者游戏操作介绍按钮就会分别进入到关卡一或者游戏介绍场景。关卡一获得的分数达到100分,将自动跳转到关卡选择界面,然后才能进入关卡二,继续游戏,达到200分后,跳到胜利场景,游戏结束。每个场景都有相应的脚本文件,许许多多的游戏对象。每个游戏对象的组件都不尽相同,各有不同的功能,在下面将会有说明。
5.3 游戏设计完成阶段
目前游戏项目已经完成,能够顺利运行,并有音效、天气效果等。开始界面如下图5. 1:
图5.1 开始界面
点击开始游戏将进入游戏,如图5.2所示:
第 14 页 共 33 页
图5.2 游戏界面
点击游戏介绍将进入游戏介绍界面,如图5. 3所示:
图5.3 介绍界面
第 15 页 共 33 页