我正在开发一款基于回合制的双人游戏。
我想要的是: - 当某人获胜时,动画弹出窗口并显示玩家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 :(得分:0)
查看Android SDK中的Timer
课程。这是一个专门的线程。您可以简单地执行您正在执行的任务并将其实现为TimerTask
对象。我自己用它来运行动画引擎。查看以下方法的API。希望这会有所帮助!!!
Timer.schedule(TimerTask task, long delay)