按顺序调度动画



我正在制作一款带有骰子和移动部件的游戏。我想要的是骰子滚动,然后在骰子完成滚动后,我想要棋子移动。我目前有当骰子完成滚动骰子对象告诉碎片开始移动,但我想要一个控制器告诉骰子移动,等待他们完成,然后告诉碎片移动。我尝试过使用。wait()和。notify(),但我真的不知道如何使用它们,最终得到一个InterruptedException。实现这一点的最佳方式是什么?

使用一个javax.swing.Timer作为骰子,另一个作为棋子;在骰子处理程序中,当确定骰子已完成时,启动棋子计时器。这里有几个例子。

你可能想看看如何在Java中从另一个线程暂停和恢复一个线程。

似乎你不能使用任何其他方式,但海报建议那里,暂停一个线程。他使用变量来知道何时运行或暂停。例如:

public class Game
{
    static Thread controller, dice;
    static boolean dicerunning = false;
    public static void main(String[] args)
    {
        controller = new Thread(new Runnable()
        {
            public void run()
            {
                dicerunning = true;
                dice.start();
                while (dicerunning)
                {
                    //blank
                }
                //tell piece to move here
            }
        });
        dice = new Thread(new Runnable()
        {
            public void run()
            {
                //roll here
                dicerunning = false;
            }
        });
        controller.start();
    }
}

相关内容

  • 没有找到相关文章

最新更新