开发者经验谈:如何一天时间搞定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. 【转】开发者分享如何创造一款优秀的iOS游戏——2013-08-25 17

    http://game.dapps.net/gamedev/experience/889.html 创造出<Temple Run>的夫妻团队在高峰时期每天能够获得"好几万&quo ...

  2. Centos安装FastDFS+Nginx(一天时间搞定)

    最近在研究和使用Fastdfs,别人搭的环境,终究是别人的,绝知此事要躬行~躬行啊~      下面的脚本主要参考了官方的INSTALL文件,这个是比较权威的,部分地方和实际情况不一致.比如配置文件的 ...

  3. [转]Cordova - 彻底搞定IOS编译!

    本文转自:https://www.cnblogs.com/sunylat/p/9946482.html 操作系统:OSX10.14 XCode:10.1 Cordova:8.1.2 假设已经配置好了C ...

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

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

  5. leetcode 258. Add Digits——我擦,这种要你O(1)时间搞定的必然是观察规律,总结一个公式哇

    Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...

  6. 分分钟搞定IOS远程消息推送

    一.引言 IOS中消息的推送有两种方式,分别是本地推送和远程推送,本地推送在http://my.oschina.net/u/2340880/blog/405491这篇博客中有详细的介绍,这里主要讨论远 ...

  7. 5分钟搞定iOS抓包Charles,让数据一清二楚

    Charles安装 HTTP抓包 HTTPS抓包   1. Charles安装 官网下载安装Charles:https://www.charlesproxy.com/download/ 2. HTTP ...

  8. 一句话搞定IOS中View的Frame和Bound

    就一句话,Frame是父View上看到子View的窗户,Bound是子View上可以被父View看见的内容. 稍微解释下.Frame 指子View在父View中的位置以及大小.由两部分构成,第一部分是 ...

  9. [Python] Uvicorn+FastAPI快速搞定Restful API开发

    目录 安装模块 运行代码 运行命令 快速文档 安装模块 # 一个现代的,快速(高性能)python web框架 pip install fastapi # 主要用于加载和提供应用程序的服务器. pip ...

随机推荐

  1. MySQL-中文全文检索

    一.概述 MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度. 二.语法 1 2 MATCH (col1,col2,...) AGAINST (exp ...

  2. HBase的完全分布式的搭建与部署,以及多master

    一:前提准备 1.设置时间同步 2.清空logs,datas 3.格式化集群 bin/hdfs namenode -format 4.重启集群 sbin/start-dfs.sh sbin/start ...

  3. qt 4.6.2 与visual studio 2005 集成(编译方法,以及中间遇到的问题)

    不知不觉在蒂森差不多半个月了,哈哈,时间过得很快,过得很充实,近来研究QT,首先嘛,肯定要学会安装了,这最基础的不会更不用说下面的啦.闲话少说,进正题,基本的安装步骤网上多的是,但参考一个大多数情况是 ...

  4. VB的判断语句和循环语句

      判断语句 •If语句 if语句共有4种写法: 第一种语法: If 条件判断语句 then 程序代码 第二种语法:If 条件判断语句 then 程序代码 else 程式代码 第三种语法: If 条件 ...

  5. 远程通知APNs(Apple Push Notification Server)

    推送通知是由应用服务提供商发起的,通过苹果的APNs(Apple Push Notification Server)发送到应用客户端.下面是苹果官方关于推送通知的过程示意图: 推送通知的过程可以分为以 ...

  6. Spring框架,如何返回数据给视图(jsp文件)

    第一步 准备返回给视图的数据 package com.cwebs.samples; import java.util.LinkedHashMap; import java.util.List; imp ...

  7. 解决Eclipse启动报错Failed to create the Java Virtual Machine

    电脑:2G内存,WIN7 32位. 启动adt-bundle-windows-x86-20140702\eclipse\eclipse.exe时,报错[Failed to create the Jav ...

  8. JavaWeb学习笔记(一)Mac 下配置Tomcat环境

     最近,想鼓捣与服务器端的交互,只能自己搭建环境了. 上个周一鼓捣了一点,周五再鼓捣,发现忘得已经差不多了.好记性不如烂笔头,还是记录下来比较好. 首先,去Tomcat的官网,下载Mac版的Tomca ...

  9. C#中static静态变量的用法

    使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型 静态全局变量 定义 ...

  10. Apple Developer Program Roles Overview

    Apple Developer Program Roles Overview There are three roles that can be assigned to Apple Developer ...