我正在遵循一個嚮導來展示如何創建一個Pong遊戲。有一部分,我應該創建一個線程,並調用一個移動球的函數。在android中的線程不按預期方式工作
這是我創建的代碼:
package com.ozadari.pingpong;
public class PingPongGame extends Thread {
private Ball gameBall;
private PingPongView gameView;
public PingPongGame(Ball theBall,PingPongView mainView)
{
this.gameBall = theBall;
this.gameView = mainView;
}
@Override
public void run()
{
while(true)
{
this.gameBall.moveBall();
this.gameView.postInvalidate();
try
{
PingPongGame.sleep(5);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}}
的線程稱爲正常工作,但是它不打印任何東西。我試圖取消infinte循環並使循環運行100次。等待一段時間後,它會在100次運行後打印到屏幕上,但它不會在中間打印任何內容。
問題是什麼?我該如何解決它?
從您的代碼,沒有什麼應該打印。我也想看到moveBall()。 – tilpner 2013-03-21 12:37:30
你有沒有試過把睡眠時間增加到1000?你能看到變化嗎? – WarrenFaith 2013-03-21 12:38:09
聽起來就像你直接從主線程調用運行方法?確保通過調用start來將線程作爲線程啓動。 – 2013-03-21 12:38:46