2013-04-22 33 views
1

我的應用程序就像LUDO遊戲。我在android中開發它。 我想要的是,在每個擲骰子之後,我的棋子(玩家的棋子)必須在方框中一個一個地移動,然後在下一個框中進入,然後在下一個框中進入到下一個框中骰子...我不能在Android的每次睡眠呼叫後更新UI

我已經實現了這麼多的策略,包括thred,TimerTask的,處理程序等。

但一個共同的事情發生的是,它只是等待什麼都時候,我們還通過了每一步(這意味着如果玩家擲骰子並獲得4,那麼無論何時一步,例如0.5秒乘以4即2秒),並在該時間結束時更新UI。 這裏我想要的是我想在每個時間間隔(前面括號中提到的0.5秒)之後更新用戶界面,直到玩家一個接一個移動的最後一步或結束。

幫助我儘快...

+1

你這樣做是錯誤的。 _Android_儘快爲您更新UI,因爲它很有意義。但是你在主/ UI線程上休眠,使Android無法工作。你需要簡短地執行你的遊戲邏輯'Handler' runnables /消息處理回調函數,或者爲此提供一個併發的'Thread'。 – 2013-04-22 07:36:10

+0

我無法準確得出你的答案...你是否希望我使用[處理程序]而不是線程來更新UI ....我沒有太多的android編程經驗,所以請徹底解釋我...謝謝你你的回覆 – 2013-04-24 17:03:27

+0

你爲什麼不直接通過文件/培訓工作?例如。 [用圖形和動畫構建應用程序](http://developer.android.com/training/building-graphics.html),雖然我覺得你應該從第一課開始。 – 2013-04-24 17:51:37

回答

0

我認爲你正在使用的畫布爲您的遊戲,它只是沒有更新在每一步你的用戶界面可能是2的理由。
1你需要增加單個像素的位置,假設一個盒子是48
像素然後只是增加像素48 + 48 + 48 + 48如果你有4 ....和 2. is call invalidate()在單個像素位置的每個增量中。

我希望這可以幫助你.. :-)

+1

其實我沒有使用畫布圖像......我只是使用imageview來引用圖像或玩家的作品......所以我無法在當前階段在我的遊戲中實現您的策略......感謝您的回覆 – 2013-04-24 16:58:29