我想展示我正在制作的游戲的鏡頭。但畫布在我的 for 循環結束時就失效了。這是同樣的問題,就像這里畫布不會更新(無效)直到整個 while 循環結束 但答案對我不起作用。在這種情況下如何使我的畫布無效?:else if (event.getX() > 1150 && event.getX() < 1300 && event.getY() > 550 && event.getY() < 700) { System.out.println("Schuss"); final ArrayList<Shot> positions = game.shot(100, 45, canvas); new Thread(new Runnable() { public void run() { for (int i = 0; i < positions.size(); i++) { game.setCurrentShot(positions.get(i)); System.out.println(i); canvas.postInvalidate(); } } }).start();}在射擊功能中,我計算所有位置。鏡頭將通過,然后我想在畫布上顯示這些位置,但這不起作用。
1 回答

喵喵時光機
TA貢獻1846條經驗 獲得超7個贊
嘗試這個:
else if (event.getX() > 1150 && event.getX() < 1300 && event.getY() > 550 && event.getY() < 700)
{
System.out.println("Schuss");
final ArrayList<Shot> positions = game.shot(100, 45, canvas);
YourActivity.this.runOnUiThread(new Runnable() {
public void run() {
for (int i = 0; i < positions.size(); i++)
{
game.setCurrentShot(positions.get(i));
Log.d("YourApp", "i = "+i);
canvas.invalidate();
}
}
});
}
添加回答
舉報
0/150
提交
取消