与所有软件项目一样,iOS游戏开发得益于其良好的基础。本章将讨论如何设置一个新的Xcode项目,这对于许多游戏而言是个合适的起点。这部分内容将包括创建一个可部署于iPhone和iPad的项目,同时处理横向和纵向方向。
本章首先着眼于如何初始化iOS应用程序,以及可以在哪里开始自定义行为,使得应用程序的执行符合我们预期。还将探讨如何在iOS应用程序中创建和修改用户界面(UI)元素,尤其需要注意的对不同设备及方向的管理。
本章创建的游戏与第1章的简单示例十分相似——事实上,这两款游戏的玩法是完全一样的。但是,通过对一些关键技术的演练,我们将为学习后续章节的内容打下基础,例如UIViewController和Interface Builder的使用。
我们将探讨iOS应用程序的组成方式,并解释关键类。将新建UI元素并学习如何使用Interface Builder自定义它们。还将探讨如何使用MVC模式创建灵活的、可重用的代码元素。在本章的末尾,将创建一个如图2-1所示的石头、剪刀、布应用程序。
图2-1显示了一个在iPhone和iPad模拟器上运行的应用程序。这就是所谓的通用应用程序:可运行于两种设备之上,在App Store上的应用分类亦是如此。除非有特殊的商业原因才会编写一个仅适用于iPhone或iPad的应用程序,让你的应用程序通用具有很多意义。这样,即使最初你只是打算在某一种设备上发布你的应用程序,在未来也可以节省时间。
我们的示例应用程序有些简单,这使得要区分出图2-1中所示的4种状态之间的差异可能会有些难度。在左上角,iPhone处于纵向方向,其中灰色区域布局的位置与左下角iPhone处于横向方向时不同,文本的布局同样有所不同。应用程序在iPad上运行,处于横向和纵向方向时,同样存在这些差异。现在让我们开始理解如何设置项目以适应这些不同的设备和方向。
图2-1 针对iPhone和iPad的横向和纵向设计的应用程序