在游戏机器人中处理碰撞

时间:2012-04-30 16:47:46

标签: android multithreading canvas

我在做游戏。游戏有: - 进度条 - 球在屏幕上移动 - 一个“血” 球会在屏幕上移动。当它与“血液”碰撞时,进度条会产生一个值,血液就会消失。 我希望血液隐藏在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秒。那么,它是如何立即消失的? 请帮帮我。谢谢,

0 个答案:

没有答案