作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些代码,如下所示:
if there is a collision between player and enemy
player.health--
我想这样做:
if there is a collision between player and enemy
player.health--
wait for 3 seconds
这是为了暂时忽略碰撞,这样玩家的生命值就不会立即降至 0。
我如何为此实现某种计时器?
最佳答案
为了不卡住运动,您必须像这样启动一个新线程
private Thread invul;
if(collision && (invul==null || !invul.isAlive())){
player.health--;
invul=new Thread(){
public void run(){
Thread.sleep(3000);
}
};
invul.start();
}
<小时/>
或者也许更简单,节省玩家被击中的时间。
private long lastTimeHit= 0;
if(collision && System.currentTimeMillis() > lastTimeHit+3000){
lastTimeHit= System.currentTimeMillis();
player.health--;
}
关于java - 如何记录时间(让玩家忽略伤害 3 秒)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13698303/
我是一名优秀的程序员,十分优秀!