遵循一定的原则可以保证开发顺利进行,最大程度避免意外情况的发生。根据我以往的经验,如果不提前想好应用什么技术?如何组合这些技术?临时抱佛脚,刷网页搜信息将会耗费很多精力。
本文就来讲一讲使用苹果公司的原生游戏引擎SpriteKit开发一款游戏都需要哪些步骤。
1.创建一个Project
有了游戏创意之后,第一步就是使用苹果公司的开发IDE:Xcode,创建一个游戏Project。为什么在开发苹果设备使用的App时,必须要使用Xcode呢?这是因为Xcode更简单,更省事,更方便。
2.设置Workspace
在Xcode里,每个Workspace要求有逻辑体系(logistics)以及一些准备工作,比如决定游戏在设备上是横版还是竖版,并做一些适当的改动——取消勾选横向视图或者纵向视图,并在Project文件或Xcode编辑器中进行编辑。
3.添加Project资源
Project资源即图像音频文件或其他要添加到project里的外部文件。仅需要简单地将其拖放到project导航器就可以了。
4.改变背景颜色
到这里,好戏才刚刚开始。要改变背景颜色的话就得多写几行代码以保证程序可以运行。可以高效运行程序就可促使开发者更加有动力继续工作。这一步看似不起眼,做好了能大大提升开发者的积极性,让他们更加相信自己有能力为Project带来积极的影响。
5.为背景添加Sprite
从asset或图像文件夹里获取图片,并添加为游戏背景。一旦了解了如何添加以及设置背景Sprite的位置后,就能为游戏场景添加Sprite了。
6.添加游戏Sprite
添加了背景sprite后,就要添加游戏内置(in-game)精灵。游戏内置Sprite可以节省不少时间,帮助开发者将注意力主要放在游戏逻辑上。
7.添加玩家控制的Sprite
添加游戏Sprite的同时,你可能已经加上了玩家控制的Sprite。这是行得通的。将两者分开操作主要是考虑到多数情况下,当玩家所控制的Sprite按照设置的行为或位置执行时,可能跟游戏内置的其他Sprite有所不同。
创建了自己的游戏asset之后,就可以开始为游戏添加逻辑了。在这篇文章中,我们将会用到很多App Store中游戏喜欢用的“拖放”机制。
执行游戏逻辑时,须采用“分而治之”的方法,也就是将过程分割成最小单位,分别编写代码。
8.“拖放”Sprite——“拖”
为玩家Sprite执行“拖动”机制,需要用到touchesBegan功能,该功能现已适用于苹果产品。这个动作只需要轻点屏幕即可触发。
9.拖放”Sprite——“放”
这一步会用到touchesMoved和touchesEnded功能,判断手指什么时候移开屏幕。
这部分我们创建菜单屏幕,按键还有游戏所需的用户界面工具。
10.创建主菜单(setUp)
要创建主菜单屏幕,也就是scene(场景)或一个SKNode,必须要有Cocoa Touch文件。本文中使用scene。
11.调用主菜单
创建主菜单后,要调用主菜单,程序才能开始运行。游戏启动后,应立刻调用主菜单,作为游戏中出现的第一个场景。
12.添加背景Sprite
这一步跟添加游戏场景的背景Sprite是一样的。
13.触摸开始游戏
主菜单加载完成后,只需要给屏幕添加一个触摸功能,游戏就能真正开始了。一旦检测到触摸的动作,游戏场景就被调用并加载出来,然后游戏开始运行直到结束。
14.返回主菜单按钮
玩家如何从游戏场景返回主菜单呢?方法是重复第13步的touch方法,但这次我们定义一个Sprite做为按键,玩家按下按键之后,就能返回主菜单。
15.场景转换
动画让游戏更引人入胜,可谓锦上添花。虽然跟游戏内容没太大关系,但能大大提升游戏体验。
16.添加一个Play按键
游戏制作完成后,玩家需要找到一个进入游戏的方式。很简单,使用Sprite定义一个Play按键,按下Play建即可开始游戏。
App Store上有很多游戏逻辑和游戏Demo
我曾开发了一个名为Piggie Penny Pincher的iOS游戏。接下来,我将和大家分享我在开发该款游戏时用到的一些解决方案。
让游戏动起来
18.动画&特效
是时候添加动画和特效了,好让游戏看起来更生动一些。
运用制作动画的12条准则中的任何一条,都会使你的动画更为生动。其中最简单的准则就是最常用的“挤压与拉伸(Squash and Stretch)”,可以使游戏体验更上一层楼。
19.音乐和音效
最后可以为游戏添加音乐和音效了。通常开发者们可能会忽略这一点,但这能让你的游戏更加引人入胜。