开发游戏教程我选择其作为第一个游戏教程是不需要任何特殊动画效果的

详情

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

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

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

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

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

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

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

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

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

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

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

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

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

热门产品
产品分类
联系我们
联系人: 喜迎棋牌
传真: 喜迎棋牌手机版
微信: 喜迎棋牌游戏
地址: 喜迎棋牌游戏