文档详情

《《iPhone游戏编程实例》.pdf

发布:2015-10-02约4.07万字共31页下载文档
文本预览下载声明
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
显示全部
相似文档