我有一个游戏(比如超级跳投,这个游戏是跳跃游戏),我们的角色有生命。与敌人碰撞后,他的生命减少。我想在 1 秒后计算碰撞。我的意思是,在这 1 秒内,如果我的角色与敌人接触,什么也不会发生,他会继续他的方式。
为此,我在 GameScreen 类中定义了一个布尔变量,名称为“collision”,在 Wolrd 类中定义了另一个布尔变量,名称为“collBirds”。与敌人碰撞一次接触后,collBirds 变为 true。但我想在 1 秒后将碰撞更改为 false。我使用了一些东西,比如 System.currentTimeMillis() 和“for 循环”,但没有任何反应。我的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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)