转载

java – 在libgdx游戏中设置延迟

我有一个游戏(如超级跳投,这个游戏是一个跳跃游戏),我们的角色有生命.在与敌人发生碰撞后,他的生命减少了.我想在1秒后计算碰撞.我的意思是在这1秒内,如果我的角色与敌人接触,没有任何事情发生,他继续他的方式.

为此,我在我的GameScreen类中定义了一个布尔变量,名为“collision”,另一个在Wolrd类中定义名为“collBirds”.一次与敌人碰撞接触后,collBirds变为true.但我想在1秒后将collistion改为false.我使用System.currentTimeMillis()和“for loop”之类的东西,但没有任何反应.我在 java

中不太好.

这是我的条件:

if(World.collBirds == true && collition == false){
        life -= 1;
        lifeString = "Life : " + life;
        World.collBirds = false;
        collition = true;
        for (??? "need to stay here for 1 sec" ???) {
            collition = false;
        }
    }

在某些情况下,您还可以使用com.badlogic.gdx.utils.Timer

用法示例:

float delay = 1; // seconds

Timer.schedule(new Task(){
    @Override
    public void run() {
        // Do your work
    }
}, delay);

翻译自:https://stackoverflow.com/questions/10798477/set-a-delay-in-libgdx-game

原文  https://codeday.me/bug/20190111/509478.html
正文到此结束
Loading...