开发者经验谈:如何一天时间搞定iOS游戏开发?

在一天时间里将完成iPhone游戏开发由梦想变为现实?
本文作者给出了从创意转变成现实的详细答案。使用苹果原生游戏引擎SpriteKit,遵循一定的原则可以保证开发顺利进行,最大程度避免意外情况的发生。

CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿、参与内容翻译工作,或寻求近匠报道,请发送邮件至tangxy#csdn.net(请把#改成@)。 


遵循一定的原则可以保证开发顺利进行,最大程度避免意外情况的发生。根据我以往的经验,如果不提前想好运用什么技术?怎么组合这些技术?临时抱佛脚,刷网页搜信息将会耗费掉很多精力。

这篇指南会告诉你什么时候该走哪一步,用苹果的原生游戏引擎SpriteKit,让游戏从创意转变为现实。

1. 创建一个Project

有了一个游戏创意之后,第一步是立刻用苹果的开发IDE——Xcode,创建一个游戏Project。为苹果设备开发App,为什么非得用Xcode呢?因为它更简单,更省事,更方便。

2. 设立Workspace

在Xcode里,Workspace要求有逻辑体系(logistics),一些准备工作也必不可少,比如决定游戏在设备上的orientation,做一些适当的改动——取消选定portrait或landscape view,在project文件或XCODE编辑器里进行编辑。

3. 添加Project资源

Project资源即图像音频文件或其他要添加到project里的外部文件。简单拖放进project导航器就可以了。

4. 改变背景颜色

这一步才真正是好戏开场。要改变背景颜色的话就得多写几行代码,保证运转高效进行,程序员也更有动力继续工作。

这一步看似不起眼,做好了却能大大提升开发者的积极性,让他们更加相信自己有能力为Project带来积极的影响。

5. 为背景添加Sprite

从asset或图像文件夹里获取图片,添加为游戏背景。了解了如何添加以及安置背景sprite的位置后,就能为游戏场景添加sprite了。

6. 添加游戏Sprite

添加了背景sprite后,同时添加in-game sprites,也是不错的想法。

游戏内置sprite也会帮忙节省不少时间,让你安安心心把注意力放在游戏逻辑上。

7. 添加玩家控制的Sprite

添加游戏sprite时,你说不定已经加上了玩家控制的sprite,这一招挺受用的。将两者分开来操作主要是考虑到多数情况下,玩家控制的sprite按照我们的意愿执行一个行为或位置时,可能跟游戏内置的其他sprite有所不同。


添加游戏逻辑

创建了自己的游戏asset之后,就开始为游戏添加逻辑了。在这篇指南中,我们会用到很多iOS游戏喜欢用的“拖放”机制。

执行游戏逻辑时,须采用“分而治之”的方法,也就是将过程分割成最小单位,分别编写代码。

8. “拖放”Sprite——“拖”

I为玩家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游戏,App Store上有,接下来,我将和大家分享我在开发该游戏时用到的一些解决方案。


让游戏动起来

18. 动画&特效

是时候添加动画和特效了,好让游戏看起来更生动一些。

运用动画制作12条准则的任何一条,都会使你的动画更为生动。而最简单常用的是“挤压与拉伸(Squash and Stretch)”,让游戏体验更上一层楼。

19. 音乐和音效

最后可以为游戏添加音乐和音效了,虽然并非或不可缺,但能让你的游戏更加引人入胜

开发者经验谈:如何一天时间搞定iOS游戏开发?相关推荐

  1. 史上最强模型 GPT-4 上线:一张手绘草图能生一个网站、60 秒搞定一个游戏开发!

    平地一声雷,GPT-4 重磅来袭. 3 月 14 日,OpenAI 正式上线新一代人工智能大模型 GPT-4,它是一个大型多模态模型,可以接受图像和文本输入,同时返回文本输出.就像这样: 用户:这幅画 ...

  2. 史上最强模型 GPT-4 上线:一张手绘草图能生一个网站、60 秒搞定一个游戏开发!...

    整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 平地一声雷,GPT-4 重磅来袭. 3 月 14 日,OpenAI 正式上线新一代人工智能大模型 GPT-4,它是一个大型多模态模型,可以 ...

  3. 强化学习快餐教程(3) - 一条命令搞定atari游戏

    强化学习快餐教程(3) - 一条命令搞定atari游戏 通过上节的例子,我们试验出来,就算是像cartpole这样让一个杆子不倒这样的小模型,都不是特别容易搞定的. 那么像太空入侵者这么复杂的问题,建 ...

  4. 视频教程-《2048》-UGUI搞定2D游戏研发-Unity3D

    <2048>-UGUI搞定2D游戏研发 北交点教育创始人 毕业于中国人民大学 九年工作经验 担任多款游戏主程序 精通Unity,UE4等常用游戏引擎 参与过故宫,国博等国家级VR项目的研发 ...

  5. 老板问:多长时间搞定?开发说3天,測试说2天,然后……

    有朋友问到: 老板问搞定这一堆事情要多久:开发说3天.測试说2天.  然后老板第五天来要货.測试提了一堆bug给开发......开发继续解决bug,測试继续測, 直到递归结束-- 有什么流程能够解决这 ...

  6. 如何用最短时间搞定酷炫可视化大屏?这款工具值得一看

    要问当前什么BI工具最热门,肯定非PowerBI莫属,堪比BI界的Python.对于我这种用惯了Tableau来说,确实会眼红PowerBI某些特性. 但PowerBI和Tableau都有一个问题:使 ...

  7. 最短时间搞定算法:字节跳动Android岗算法题考前突击宝典

    前言 一个人,一支笔,一个晚上,一个奇迹.这是学生党的常规操作. 大学里也同样有很多奇迹的创造者:每次一到期末考试的前几个晚上,各个变身"最强大脑",上知天文,下晓地理,还精通人文 ...

  8. Cordova - 彻底搞定IOS编译!

    操作系统:OSX10.14 XCode:10.1 Cordova:8.1.2 假设已经配置好了Cordova开发环境,Apple ID你也有,XCode也可以正常工作了,那么就可以继续看这篇文章了! ...

  9. 遭遇Crash文件战:教你如何搞定iOS崩溃日志

    请叫我背景 最近在提交应用到App Store的时候,竟然被拒了两次.那时候心里的想法是,尼玛完蛋了,要被老板开除了,我是不是要失业了.于是乎那两周几乎毛脑子都是为什么Apple你这么狠心,我们明明相 ...

  10. 搞定QQ游戏系列(寻仙,DNF等等)驱动保护TesSafe.sys

    1.用RKU看一下SSDT和SSDTShadow,发现SSDT并没有被HOOK,SSDTShadow HOOK了5个调用: NtUserBuildHwndList NtUserFindWindowEx ...

最新文章

  1. 35岁改行做程序员,需要勇气和决心
  2. 世界坐标系空间,页面空间,设备空间,物理设备空间
  3. 启动任务管理器命令符,doc命令
  4. P2055 [ZJOI2009]假期的宿舍(二分图匹配)
  5. MyBatis mapper 注解过程中通过 LanguageDriver 实现动态 SQL
  6. matlab求RMSECV,CARS 用于matlab模式识别(分类和回归)的特征变量提取方法 联合开发网 - pudn.com...
  7. 模型优化秘诀:从数据的角度分析,零代码也可以提升精度
  8. (转)Putty server refused our key的三种原因和解决方法
  9. wrong ELF class: ELFCLASS64
  10. KML和KMZ 用什么软件打开?
  11. 批处理清空文件夹内所有txt文件的内容
  12. (一)CGAL库应用:指定平面切割模型并用openGL显示该层面轮廓
  13. 计算机语言学方面的期刊.,自然语言处理投稿哪些sci期刊
  14. C#进阶之路(四):拉姆达
  15. itunes使用备份,恢复
  16. matlab程序运行完后响铃,matlab基本
  17. 【P秋色的小课堂】第一课
  18. 手把手教你配置哔哔点啥
  19. 三国志11威力加强版win7 64bit运行失败解决方法
  20. poj3255次短路

热门文章

  1. 大一入门oj题目——《三天以后》
  2. 如何在你的Android手机上配置 Python 环境?
  3. 不吹不黑聊聊前端框架--尤雨溪Live整理
  4. EasyRecovery最新免费专业版数据恢复软件
  5. libyuv库简单使用
  6. 关于人大金仓数据库连接数量问题
  7. MotoSimEG-VRC软件:安川机器人摆动焊接虚拟仿真操作方法
  8. android 取消选中状态,Android:显示/隐藏偏好检查/取消选中其他CheckBoxPreference
  9. SPSS分析基础——T检验
  10. MAX232芯片的引脚图和电脑串口的连接电路及RS232引脚定义详细说明