从小到大都有游戏梦,所以希望能开发出自己的游戏。iPhone游戏开发主要用到这些技术和工具:Objective-C或C/C++, Xcode, UIKit, Quartz 2D, Core Animation, OpenGL, audio APIs, networking, GameKit。
开发工具与环境
iPhone开发使用的语言是objective-c。objective-c是c语言的扩展,给c简单直接的面向对象的特性。iPhone所有的api接口都是用objective-c实现的,但是也有些非接口部分是使用c/c++实现的。所以你需要熟练使用objective-c,对c/c++也有一定的了解。
开发工具是Xcode,是一款功能强大的IDE。
UIKit
UIKit提供了一种最简单的方式来绘制图形和UI元素。使用UIKit显示和定位位图是非常简单的,由于低层的硬件加速,速度还是蛮快的。对于游戏开发,图形和动画很少的游戏,使用UIKit是个非常不错的选择。
下图是款完全使用UIKit开发的小游戏,没有直接用到OpenGL ES。它也有有大量图形和动画元素,它几乎接近了UIKit中可以做到的图形帧速率限制。如果你想添加更多的图形,那么你就要使用OpenGL ES ,来确保它能快速的运行在所有的设备上。
下图也是一个有UIKit开发的游戏。它不需要OpenGL ES提供的强大的图形渲染功能。它是一个文字的游戏,只要一个很小的背景动画。所以UIKit非常适合这样开发。
Quartz 2D和Core Animation
Quartz 2D也被称为Core Graphics。它提供了一个更为高级的,更底层的绘制引擎。Quartz 2D提供了很多有用和强大的功能,如屏幕渲染,透明层,绘制线条。这些功能派上用场了,许多游戏开发者不喜欢屏幕上画雷达,迷你地图,弯曲的路径,和其他UI元素的东西。虽然它可能用于渲染的一个游戏的主要内容过于缓慢,但是Quartz 2D也是iPhone开发者的的宝贵工具。
Core Animation为开发人员提供了一种移动和转换UI元素最省力的方法。使用Core Animation,你能够创建硬件加速,使用位置,旋转,透明度等属性创建基于时间的动画。Core Animation也可以用来实现视图之间的过渡。提供了很多内置的过渡方法。
OpenGL ES
OpenGL ES最重要的工具,是最快的图形渲染方式,也使它能支持3D模型。
下图是有OpenGL ES渲染出的3D图形
下图是由OpenGL ES渲染出的2D模型
Audio APIs
游戏离不开声音效果,iPhone开发有对在游戏中使用声音有多种选择。比如更为高级的API:OpenAL,更为简单的:内置的服务。使用哪种取决于你的游戏需要。使用Audio API,你可以流音频,播放短的声音,甚至是在三维空间模拟音频定位。
Networking
iPhone给开发人员提供了很多的连接技术。比如实时多人的游戏可以通过在服务器和客户端通过socket和流进行连接,或通过GameKit的蓝牙配对。
【编辑推荐】