我想展示我正在制作的游戏的镜头。但画布在我的 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
提交
取消