显示动画并重新开始游戏

时间:2014-02-10 17:55:12

标签: java android animation

我正在开发一款基于回合制的双人游戏。

我想要的是: - 当某人获胜时,动画弹出窗口并显示玩家1或2获胜。然后在游戏重新开始后等待2秒。

我得到的结果: - 动画弹出窗口正常,等待2秒,但之后显示完成的游戏板,即游戏未重启。

animation.java

public void onAnimationEnd(Animation animation) 
{
    // Take any action after completing the animation
    // check for fade in animation
    if (animation == ani)
    {
        //Toast.makeText(getApplicationContext(), "Animation Stopped",
            //    Toast.LENGTH_SHORT).show();
        Thread.currentThread();
        try
        {
            Thread.sleep(2000);
            finish();
        }
        catch (Exception e)
        {

        }

    }

}

gameboard.java

public void winner(int x)
   {
                    int a=gameArray[x];

        Intent i = new Intent(this, animation.class);
        i.putExtra("winner", a);
        startActivity(i);

   }

我尝试过但没有用过: -

gameboard.java

public void winner(int x)
   {
                    int a=gameArray[x];

        Intent i = new Intent(this, animation.class);
        i.putExtra("winner", a);
        startActivity(i);
                    Thread.currentThread();
        try
        {
            Thread.sleep(2000);
            finish();
                   Intent b= new Intent(this, gameboard.class);
                   startActivity(b);
        }
        catch (Exception e)
        {

        }

   }

在执行此操作时,动画根本不显示,游戏线程在任何玩家获胜后休眠。但是2秒后游戏重新开始。

我使用canvas.drawLine和名为drawBoard()的方法绘制了游戏板。我该怎么办。

1 个答案:

答案 0 :(得分:0)

查看Android SDK中的Timer课程。这是一个专门的线程。您可以简单地执行您正在执行的任务并将其实现为TimerTask对象。我自己用它来运行动画引擎。查看以下方法的API。希望这会有所帮助!!!

Timer.schedule(TimerTask task, long delay)