【问题标题】:Java Help (Waituntil?)Java 帮助(等待?)
【发布时间】:2016-04-28 14:00:58
【问题描述】:

我想创建一个 java 函数,比如等待它在几秒钟内过去,然后他们可能会执行操作。这就是我所拥有的:

    if(Minecraft.getMinecraft().gameSettings.keyBindJump.pressed)
        hasTimePassedS(2);
        Minecraft.getMinecraft().thePlayer.motionY = + 8;


    private boolean hasTimePassedS(int i) {
    long t0 = 0,t1 = 1;
     do{
     }
     while (t1-t0<1000);
    return false;

注意:这是两个不同的示例,没有使用/考虑正确的 { } 格式。

我希望在激活顶部代码后有两秒钟的延迟,然后您才能再次按下它。

谢谢!

【问题讨论】:

  • 试试Thread.sleep(2000); 使用Timer
  • 我不想让程序冻结?
  • 我希望它基本上停止该特定功能
  • 两秒钟,所以当他们在延迟之前再次按下它时,它什么也不做
  • 如何创建计时器?

标签: java client minecraft runtimemodification


【解决方案1】:

您可以创建(和startTimer。另外,我很确定您的意思是+= 8(不是= +8)之类的,

if (Minecraft.getMinecraft().gameSettings.keyBindJump.pressed) {
  Timer t = new Timer(2000, new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
      Minecraft.getMinecraft().thePlayer.motionY += 8;
    }
  });
  t.start();
}

【讨论】:

  • 我的意思是 = +,计时器不完全工作,你会导入什么导入,只是为了确定?
  • @Hobo javax.swing.Timer(我链接到 Javadoc)。此外,+8 只是 8
  • 还是不行,明天睡觉回来陪你。
  • 最终发生的情况是当函数没有被按下时,它会执行 else 函数
  • 在此之后我有一个 else 函数,它使玩家在他们的 y 轴上浮动 (- .04)..
猜你喜欢
  • 2019-08-23
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 2010-11-14
  • 2021-06-30
  • 2014-06-26
  • 2010-12-20
  • 2011-05-08
相关资源
最近更新 更多