正文

游戲案例:GemDrops(17)

Windows移動(dòng)游戲開(kāi)發(fā)實(shí)戰(zhàn) 作者:(美)Adam Dawes


 

這里的代碼很直觀。我們首先創(chuàng)建兩個(gè)新的寶石對(duì)象,設(shè)置其x坐標(biāo)為游戲區(qū)域?qū)挾鹊囊话?這可以將寶石放置在游戲區(qū)域的中間一列),并將其y坐標(biāo)設(shè)置為0和1(將兩個(gè)寶石垂直排列,一個(gè)位于另一個(gè)的上方)。寶石的顏色是從之前創(chuàng)建的預(yù)覽寶石數(shù)組(_playNextGems)中讀取出來(lái)的。

然后為每個(gè)寶石對(duì)象設(shè)置其GemType屬性,表明它們處于玩家的控制中。將FallDistance值設(shè)置為1。上一節(jié)曾經(jīng)描述過(guò),這樣做會(huì)使每個(gè)寶石所出現(xiàn)的位置比我們所請(qǐng)求的位置高一個(gè)單位,它們將逐漸下落到實(shí)際指定的位置上。

接下來(lái)設(shè)置FallSpeed屬性。對(duì)于第一對(duì)寶石,應(yīng)當(dāng)將該值設(shè)置為0.02。但是,為了慢慢地增加游戲的難度,我們將已下落寶石的對(duì)數(shù)(_pieceCount變量)乘以0.000 4,將結(jié)果添加到初始值0.02上,如果將初始值0.02除以0.000 4,結(jié)果為50,所以當(dāng)50回合之后,寶石下落的速度將達(dá)到初始值的兩倍;在100回合后將達(dá)到三倍,以此類推。如果我們想調(diào)整加速度,則對(duì)0.000 4這個(gè)值進(jìn)行修改即可。當(dāng)前設(shè)置的值很合理,在游戲的進(jìn)程中可以明顯地感覺(jué)到速度在加快。

現(xiàn)在寶石完成了初始化,所以代碼將它們添加到GameObjects集合中。

在繼續(xù)運(yùn)行之前,應(yīng)調(diào)用CheckGameOver函數(shù)來(lái)看看用于添加新寶石的空間是否被填滿了。如果空間已經(jīng)被填滿了,游戲就結(jié)束。該函數(shù)的代碼如程序清單。


上一章目錄下一章

Copyright ? 讀書(shū)網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)