正文

游戲案例:GemDrops(17)

Windows移動游戲開發(fā)實戰(zhàn) 作者:(美)Adam Dawes


 

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

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

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

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

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


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號