我在做游戏。游戏有: - 一个进度条 - 一个球在屏幕中移动 - 一个“血” 球将在屏幕中移动。当它与“血”碰撞时,进度条会产生一个值,血会消失。我希望血藏在 10 秒后出现在 5 秒内。我试着去做。这是我的代码:
位图 = BitmapFactory.decodeResource(getResources(), R.drawable.ball);
私人列表血=新的ArrayList();
公共类 TimeThread 扩展 Thread{
public void run(){
while(h < 10000000){
try {
sleep(5000);
h++;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
for(血:血){
if(h%2==0 && h>0)
blood.onDraw(canvas);
}
for (int i = bloods.size() - 1; i >= 0; i--) {
Blood blood = bloods.get(i);
if (blood.isCollition(x2, y2 ,x2 +bitmap.getWidth() , y2 +bitmap.getHeight())) {
bloods.remove(blood);
progressBar.incrementProgressBy(+40);
break;
}
}
当发生碰撞时,命令“bloods.remove(blood);” 已实现。但是因为“sleep(5000);” 应该图像血不会立即消失,它会等待5s。那么,它如何立即消失?请帮助我。谢谢,