0

我有一个鲜花游戏,应该在预定的时间送花。我有一个级别类,而 level1() 是一种方法。在我使用的 level1 方法中......

Thread.wait(10000);

但它使整个程序等到它达到那个标记。我希望程序加载然后等待。我也试过...

public static void waiting(int n) {        
    long t0, t1;

    t0 = System.currentTimeMillis();

    do{
        t1 = System.currentTimeMillis();
    }
    while (t1 - t0 < n);
}

但这也没有任何区别。有一个更好的方法吗?这是方法代码...

    package net.blockydigital;

    public class Level {
        RedFlower rf;
        PinkFlower pf;
        WhiteFlower wf;
        YellowFlower yf;
        public Level(){
            rf = new RedFlower();
            pf = new PinkFlower();
            wf = new WhiteFlower();
            yf = new YellowFlower();
        }
        public void level1(){
            try{
            Thread.sleep(10000);
            }catch(Exception e){
                e.printStackTrace();
            }
            rf.dropFlower();
        }
     }    

然后这就是我调用代码的地方......

    public PlayGame(){
    sc = new ShoppingCart();
    pf = new PinkFlower();
    rf = new RedFlower();
    wf = new WhiteFlower();
    yf = new YellowFlower();
    s = new Shoes();
    l = new Level();
    addKeyListener(new AL());
    setFocusable(true);
    setBackground(Color.WHITE);
    clock = new Timer(5, this);
    clock.start();
    l.level1();
}

我希望添加此代码有帮助!!!

4

1 回答 1

1

我没有 Java 经验,但您应该简单地在主线程之外的另一个线程中调用 level1 方法。这样程序运行并且 thread.sleep 只存在于 level1 方法。

于 2012-10-28T15:20:46.297 回答