我在做游戏。游戏有: - 进度条 - 球在屏幕上移动 - 一个“血” 球会在屏幕上移动。当它与“血液”碰撞时,进度条会产生一个值,血液就会消失。 我希望血液隐藏在10秒内并出现在5s内。我试着去做。这是我的代码:
bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.ball);
private List bloods = new ArrayList();
公共类TimeThread扩展了线程{
public void run(){
while(h < 10000000){
try {
sleep(5000);
h++;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
for(Blood blood:bloods){
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);”实施。但因为“睡觉(5000);”如果图像血液不会立即消失,它将等待5秒。那么,它是如何立即消失的? 请帮帮我。谢谢,