gpt4 book ai didi

java - 如何记录时间(让玩家忽略伤害 3 秒)?

转载 作者:行者123 更新时间:2023-11-30 04:35:06 25 4
gpt4 key购买 nike

我有一些代码,如下所示:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com