iPhone游戏编程教程

移动开发 iOS
本文介绍的是iPhone游戏编程教程,主要介绍了iPhone游戏编程的方方面面,游戏包括图形,音效,游戏逻辑以及简单的电脑AI,来看内容。

iPhone游戏编程教程是本文要介绍的内容。这是此系列教程的***部分,我将从最基本开始教大家怎样编写一个iPhone游戏。众所周知,OpenGL和Quartz的学习不是那么简单的。本教程将简化开发的过程而不会使用这两种技术。我们将使用UIImageView作为图像部分。

在此教程系列中,我将教大家有关iPhone游戏编程的方方面面。游戏包括图形,音效,游戏逻辑以及简单的电脑AI。

我们将编写的游戏叫iTennis。它实际上是一个以网球为主题的乒乓游戏。它将遵循乒乓游戏的所有规则和逻辑。我选择其作为***个游戏教程是不需要任何特殊动画效果的。如果大家有兴趣,我将在以后的系列中更加深入,介绍一个更加复杂的游戏。下面是游戏的截图:

iPhone游戏编程教程

下面是项目需要的图像。按图标下载压缩的图像文件。

iPhone游戏编程教程

打开Xcode建立一个View Based应用程序,取名为iTennis。

iPhone游戏编程教程 

加压下载的图像文件,将其拖放到项目下的Resources(资源)文件夹。完成后,资源文件夹应该像这样。

iPhone游戏编程教程

 

现在可以开始编写代码了。为了在代码中与我们的图像互动,我们首先需要建立一个IBOutlet链接。我们还需要加入一些游戏变量以便在可以在教程中使用。打开iTennisVeiwController.h加入以下代码:

iPhone游戏编程教程

如你所见,我们有好些IBOutlet。这是因为我们需要与许多对象互动。暂时先忽略ballVelocity和gameState变量。现在,我们可以开始建立我们的用户界面了。双击iTennisViewController.xib在Interface Builder中打开。下面是一个视频介绍怎样建立界面。

现在你已经做好了链接,关闭Interface Builder返回Xcode。我们需要设定一些常量。你可以硬编码这些数值,但是将它们定为常量是你在调整游戏架构时更易于改变。打开iTennisViewController.m,加入下列代码。

iPhone游戏编程教程

我们来解释下这些常量的意义。前面两个是游戏的状态。我们用它们来确定屏幕上将显示什么。游戏是暂停?是在运行?还是处于标题画面?以后我们会加入更多的状态。下面两个变量是球运行的速度。由于游戏是2D的,只需要X和Y的速度作为它们的速度矢量。再下面一行(注:应该是@synthesize这一行)是用来自动产生getter和setter方法的变量。

现在,我们在viewDidLoad方法中加入下列代码:

iPhone游戏编程教程
 
我们将游戏状态设定为暂停状态。这样在视图被加载后,游戏不会立即开始。接着,我们建立球速向量。调整前面定义的常量,可以使球运行更快或更慢些。***,创建一个NSTimer的实例。***个参数是时阶。在此,我们设置为0.05秒。调整此参数可以改变整个游戏的速度。下面一个参数是目标。此参数告诉定时器回调的位置。再下面的参数就是回调的名称了。简单地说,就是通知定时器每隔0.05秒调用一次self.gameLoop。在这里我们不用管userInfo参数。***一个参数是告诉定时器重复执行。

初始化后,我们来创建游戏循环。加入下面代码:

iPhone游戏编程教程

首先我们检查游戏是否处于运行状态(暂停状态时,不需要移动球)。如果游戏没有运行,tabToBegin标签将会被显示出来。我们先前定义的这个标签只是通知用户触动屏幕开始。如果游戏真正运行,我们会根据其速度向量来移动球。下面几行是边界检查。如果球到达屏幕边界,我们就会将其速度方向,这样球就会“来回弹跳”。没有这些代码,球就会飞出屏幕了。

***我们还要加入的代码是touchesBegan方法。此方法是在游戏暂停时用来启动游戏的。加入下面代码:

iPhone游戏编程教程

这段代码首先检查游戏是否处于暂停状态。如果是,则隐藏tapToBegin标签并设定游戏为运行状态。游戏将启动。以后,我们将会在此函数中写入玩家球拍控制。

***,作为一个好的iPhone开发者,我们需要清除分配的资源。在dealloc方法中加入下面代码。

iPhone游戏编程教程

游戏开发教程系列***部分到此结束。有什么问题,请留言。这里下载源码。

小结:iPhone游戏编程教程的内容介绍完了,希望本文对你有所帮助!

本文来自:http://www.iphone-geek.cn/%e7%bc%96%e7%a8%8b/%e6%b8%b8%e6%88%8f/iphone%e6%b8%b8%e6%88%8f%e7%bc%96%e7%a8%8b%e6%95%99%e7%a8%8b%e4%b9%8b%e4%b8%80

责任编辑:zhaolei 来源: 网络转载
相关推荐

2011-07-18 11:39:58

iPhone 游戏 引擎

2011-07-18 12:29:10

2011-07-18 11:23:29

iPhone 游戏 动画

2011-07-18 11:07:12

iPhone 游戏 引擎

2011-07-18 10:53:09

2011-08-11 16:19:11

iPhoneCocoa

2011-07-26 15:56:53

iPhone 游戏 启动画面

2011-08-09 14:24:18

iPhone多线程线程

2011-07-27 13:57:36

iPhone 游戏 Cocos2d

2011-08-12 13:19:24

iPhoneSDK安装

2011-08-10 15:48:10

iPhone网络

2009-04-17 09:17:04

2011-07-08 16:02:24

iphone

2011-07-08 14:58:16

iPhone Xcode iOS

2011-08-10 18:24:22

iPhone 图形 绘图

2011-08-03 17:44:57

iPhone App 文件

2011-08-02 17:37:01

IPhone开发 环境搭建

2011-09-02 17:59:01

2013-07-01 10:06:56

iPhone体感游戏

2011-06-07 17:35:39

iphone 多线程
点赞
收藏

51CTO技术栈公众号