正文

游戏案例:GemDrops(17)

Windows移动游戏开发实战 作者:(美)Adam Dawes


 

这里的代码很直观。我们首先创建两个新的宝石对象,设置其x坐标为游戏区域宽度的一半(这可以将宝石放置在游戏区域的中间一列),并将其y坐标设置为0和1(将两个宝石垂直排列,一个位于另一个的上方)。宝石的颜色是从之前创建的预览宝石数组(_playNextGems)中读取出来的。

然后为每个宝石对象设置其GemType属性,表明它们处于玩家的控制中。将FallDistance值设置为1。上一节曾经描述过,这样做会使每个宝石所出现的位置比我们所请求的位置高一个单位,它们将逐渐下落到实际指定的位置上。

接下来设置FallSpeed属性。对于第一对宝石,应当将该值设置为0.02。但是,为了慢慢地增加游戏的难度,我们将已下落宝石的对数(_pieceCount变量)乘以0.000 4,将结果添加到初始值0.02上,如果将初始值0.02除以0.000 4,结果为50,所以当50回合之后,宝石下落的速度将达到初始值的两倍;在100回合后将达到三倍,以此类推。如果我们想调整加速度,则对0.000 4这个值进行修改即可。当前设置的值很合理,在游戏的进程中可以明显地感觉到速度在加快。

现在宝石完成了初始化,所以代码将它们添加到GameObjects集合中。

在继续运行之前,应调用CheckGameOver函数来看看用于添加新宝石的空间是否被填满了。如果空间已经被填满了,游戏就结束。该函数的代码如程序清单。


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号