2011-10-22 47 views
0

我正在開發一個android遊戲,我需要一些關於多線程的幫助,因爲我正在考慮它。我附上一張圖片,然後我可以解釋我需要什麼。 enter image description here 這隻小鳥在我的遊戲中從左到右和從右到左完美地移動,也將她的羽毛作爲兩個圖像使用,但我在某個時間運行代碼,這會開始給雞蛋,例如,鳥會飛行4分鐘並在每20秒後它會放棄雞蛋,現在雞蛋會從上到下移動,而我認爲,另一個遊戲線程將被使用,我已經使用GameLoopThread對象並且SurfaceHolder擁有表面,我已經使用了這個代碼 我可以讓蛋20秒的條件,但我很困惑如何使一個雞蛋的線將從上到下,並在另一邊的鳥將繼續前進。GameLoopThread在簡單的Android遊戲中,我該如何執行並行線程?

真的在此先感謝。

與Atif

回答

2

你只需要一個遊戲線程,不使用兩個,就會讓事情就更加複雜(你需要的一切同步)。

通常一個遊戲線程執行下列操作步驟(和循環他們永遠):

  • 處理密鑰/觸摸事件
  • 執行打勾()(精靈的更新,狀態等)
  • 呈現屏幕

所以,你需要做的,是有一個精靈(鳥,蛋)的列表。你可以將它們保存在一個數組中。然後在tick()中更新每個人的位置。

精靈列表將是動態的,在開始時你將只有一個精靈,即鳥。當雞蛋被創建時,只需將它添加到sprite數組中,那麼從該點開始它也將被處理。

+0

根據我用來開發這個應用程序的代碼,你能給我一些提示或鏈接,謝謝。 –