set a delay in libgdx game(在 libgdx 游戏中设置延迟)
问题描述
我有一个游戏(比如超级跳投,这个游戏是一个跳跃游戏),我们的角色有生命.与敌人碰撞后,他的生命减少.我想在 1 秒后计算碰撞.我的意思是在这 1 秒内,如果我的角色与敌人接触,什么都不会发生,他会继续前进.为此,我在 GameScreen 类中定义了一个布尔变量,名称为collision",在 Wolrd 类中定义另一个,名称为collBirds".在与敌人碰撞一次接触后,collBirds 变为 true.但我想在 1 秒碰撞后更改为假.我使用了一些东西,比如 System.currentTimeMillis() 和for loop",但什么也没发生.我的java不太好.
i have a game(like super jumper, this game is a jumping game) that our character has life. after collision with enemies, his life reduce. and i want to after 1 sec , calculate the collisions. i mean in this 1 sec, if my character contact with enemies , nothing happen and he continue his way. for this , i define a boolean variable in my GameScreen class, name "collision" and another in Wolrd class, name "collBirds". after one contact with enemy collision and collBirds change to true. but i want after 1 sec collistion change to false. i use several things like System.currentTimeMillis() and "for loop",and nothing happen. i'm not so good in 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
In some cases you could also want to use com.badlogic.gdx.utils.Timer
示例用法:
float delay = 1; // seconds
Timer.schedule(new Task(){
@Override
public void run() {
// Do your work
}
}, delay);
这篇关于在 libgdx 游戏中设置延迟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 libgdx 游戏中设置延迟
基础教程推荐
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01