繁体   English   中英

如何在Java游戏中有时间安排?

[英]How to have timing in a java game?

我有一个游戏,其中包括游戏进行中的计时,我的意思是您在玩游戏,并且在您玩游戏时会计时,当游戏结束时它会停止游戏。 但是我无法一次运行两个代码线程...有什么办法可以解决这个问题?

这是我的计时器代码:

public class Time {
private static String gl;
private static int gli;
public static int weeks = 0;

public static void main(String[] args) throws InterruptedException {
    startdays();
}
public static void startdays() throws InterruptedException {
    gl = JOptionPane.showInputDialog("How many weeks? do you want the game to to on for?\nPlease type numbers, Or game will crash.\nEach week is 10 seconds long.");
    gli = Integer.parseInt(gl);
    gli++;

    for (int i = 0; i < gli; i++) {         
        if(weeks < gli){
            Thread.sleep(10000);
            weeks++;
        }else if(weeks == gli){
            JOptionPane.showMessageDialog(null, "Uh oh, Your time in office is up. You died of an infectuous disease.");                
        }
    }
}
}

在另一个类中,我这样调用方法

JOptionPane.showMessageDialog(frame, compname);
    Time time = new Time();
    time.startdays();
    JOptionPane.showMessageDialog(frame, "Im still here");

那么有什么办法可以让计时器和游戏同时进行?

如果您正在运行Swing,那么您已经在运行多个线程,因为Swing在其自己的线程中运行。

首先看一下Swing中的并发

特别是, javax.swing.Timer最有可能是您最有用的选项

更新

可能的例子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM