我正在用java制作一个简单的桌游,我想要模拟掷骰子的过程。因此我要像这样闪现出一个骰子的图片:
public Timer roll_dice = new Timer(50, this);
...
public void actionPerformed(ActionEvent evt) {
if(roll_dice.getDelay() > 500){
roll_dice.setDelay(50);
roll_dice.stop();
movePiece();
}else{
roll_dice.setDelay(roll_dice.getDelay() + 50);
dice_panel.repaint(0);
}
}
}
movePiece(){
//do some more painting
}
因此,骰子会随机显示几次数字,然后慢慢停在一个数字上。完成后,我想调用movePiece()
方法。但是,目前情况下,重新绘制发生得不规律,会破坏一切,导致在骰子动画实际完成之前就调用了movePiece()
。
有没有人有任何想法,如何在最终的重新绘制发生后才调用movePiece?