2011-02-22 93 views
0

任何人都可以請幫忙嗎?在Android中循環播放粒子

我正在做一個小型的Android遊戲,其中有一個發射器在隨機方向上發射一個單個粒子,每個遊戲的嘀嗒聲。我有一個簡單的發射器,粒子和主要遊戲類。

在我的主遊戲類中,我聲明瞭一個例如10​​0個粒子的數組。我的問題是我使用for循環遍歷每個遊戲的tick數組來更新粒子狀態。然而,我的問題是,for循環遍歷所有粒子,並且所有粒子都會同時更新,因此會彼此重疊,從而導致屏幕上只有一個粒子。我嘗試過不同的循環結構,但沒有運氣。

任何人都可以請建議一個解決方案或指向我的教程,可能會幫助我解決這個問題。如有必要,我可以發佈一些代碼。

在此先感謝。

回答

0

這裏有一個想法:如何爲每個粒子添加一個成員「時間」變量。現在,當你初始化粒子(比如說使用for循環)時,給每個粒子一個-i的出生時間值。所以:

particle[0].time : 0 
particle[1].time : -1 
particle[2].time : -2 
particle[3].time : -3 
particle[i].time : -i 

現在,當您更新在你更新功能每滴答每個粒子,你會更新:

particle[i].time += 1 

這樣,顆粒逐漸 「誕生」(T> = 0 )

在你的畫,你可以把一個簡單的檢查:

if (particle[i].time >= 0) // particle has been born 
// draw particle 

希望這有助於。

此外,我建議將其移至:https://gamedev.stackexchange.com/