- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《《iPhone游戏编程实例》.pdf
Jamie Gotch: Fieldrunners底层技术 我对视频游戏的兴趣可以一直追溯到Commodore 64 年代,那时它只有4 位颜色和64KB 的内存。我可不算幸运,在任天堂游戏机 (Nintendo Entertain- ment System )鼎盛时期不能像我的大多数朋友那样拥有它,不过可能幸亏如 此。拥有一个计算机为我带来了更多的机会和可能。随着对视频游戏的兴趣日 益增长,我开始开发自己的游戏。Commodore 64 使我能够做到这一点。开始 学习编程之后不久,我就开始创建自己的游戏,而接下来的事情已成历史就不 用多说了。我的整个学术生涯主要关注于学习编程艺术和提高数学水平,希望 有朝一日可以创建我自己的游戏——这就是Fieldrunners 。 投入 Xcode 和 Objective-C 最初开始开发Fieldrunners 时,有关iPhone 开发的一切 (Xcode、Obj ec- tive-C,甚至使用OS X )对我来说都是全新的。那时,我的开发经验主要是在 Windows 上编写C++ 代码。之前我也曾涉足过其他一些语言和平台,不过从 来不需要也没有渴求在Macintosh 平台上或者为这个平台编写代码,我的意思 是说,这种情况一直持续到iPhone SDK 的发布。 起初,我还有些迟疑,我知道,如果转向这样一个平台,在我对 Obj ective-C 熟练到可以高效率地完成开发之前,可能要花费很多时间和精力。 不过,我也知道,对于我心中所想的Fieldrunners (一个快节奏的塔防游戏), iPhone 再合适不过了。 因此,我毅然决然地投入其中,开始学习创建一个iPhone 游戏需要的一 切知识。我很快惊讶地发现,所有一切使用起来都那么容易,从操作系统到 Xcode,甚至Obj ective-C 。当然,我也必须克服一些挑战,正是这些困难促使 我写下这一章,希望能帮助你避免我曾经犯过的错误。 从哪里开始呢 从头创建一个游戏可能相当困难。你早先做出的很多决策都可能会对最 1 2 Jamie Gotch :Fieldrunners底层技术 终产品产生巨大影响。因此,在具体编写代码之前先创建大致的行动计划非常重要。为了创建 这个计划,需要明确要创建什么类型的游戏并确定自身需求。 确定需求 游戏形状各异,大小不同。特别是休闲型游戏,它的需求跨度更广。例如,牌类游戏通常 不需要以很高的帧速率绘制屏幕,也不需要同时播放多种音效。首先了解应用需求,从长期来 讲可以节省大量时间,也可以为你免去很多麻烦。下面这些问题可以帮助你确定游戏的具体需 求。 ■ 你的游戏非常依赖于3D 图形吗?它是基于sprite 还是使用简单的2D 形状? ■ 你的游戏需要很多同时在屏幕上不断移动的图形元素吗?或者,是不是同时只有一个或 两个移动的图形,而其余的图形元素大多数情况下都只是原地不动? ■ 你的游戏同时使用多种音效 (比如,爆炸、开火、尖叫)吗?或者,只是每隔几秒才播 放一次声音? 你的具体需要可以指示图形和声音编程将使用的技术。 OpenGL ES 与Quartz 很多人开始开发游戏时问我最多的一个问题就是,到底使用OpenGL 还是Quartz 。 ■ Quartz 更易于使用,因为它的大多数概念都来自高中几何。与之不同,OpenGL 编程使 用了一些更复杂的概念,如矩阵和向量。 ■ Quartz 对于不需要以高帧速率重绘屏幕和只需要2D 图形的应用非常适用。OpenGL 设 计时则特别考虑了3D 图形。iPhone GPU 支持堪与Sony PS2 和PSP 媲美的高速图形。 ■ Quartz 使用的电池电量要少于OpenGL ,因为OpenGL 更多地使用了iPhone GPU. OpenAL、AVFoundation 与CoreAudio 类似地,谈到声音和音乐播放时,也有很多选择,包括OpenAL 、AVFoundation 和 CoreAudio
文档评论(0)