2014-02-10 53 views
-1

我正在开发基于回合的双人游戏。显示动画并重新启动游戏

我想要什么: - 当有人获胜时,动画弹出窗口及其显示播放器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()的方法。我该怎么办。

回答

0

查看Android SDK中的Timer类。这是一个专门的线程。你可以简单地把你正在做的任务作为TimerTask对象来实现。我自己使用它来运行动画引擎。查看以下方法的API。希望这可以帮助!!!

Timer.schedule(TimerTask task, long delay) 
+0

这正是我一直在寻找。谢谢。 – Mohit