如何在javafx中突破关键帧?
我制作了一个玩蛇的程序。对于动画,我使用了如何在javafx中突破关键帧?,java,animation,javafx,Java,Animation,Javafx,我制作了一个玩蛇的程序。对于动画,我使用了关键帧和时间线。我的程序逻辑很好。我遇到的问题是如何突破关键帧。时间线的循环计数设置为不确定,在关键帧中,我检查蛇是撞到墙上还是撞到自己。如果是这样,我调用方法endGame(),该方法终止程序 keyFrame = new KeyFrame(Duration.millis(100), e -> { . . . // check if the snake hit itself for(int index =
关键帧
和时间线
。我的程序逻辑很好。我遇到的问题是如何突破关键帧。时间线
的循环计数设置为不确定,在关键帧
中,我检查蛇是撞到墙上还是撞到自己。如果是这样,我调用方法endGame()
,该方法终止程序
keyFrame = new KeyFrame(Duration.millis(100), e ->
{
.
.
.
// check if the snake hit itself
for(int index = 1 ; index < snakeList.size() ; index++)
{
if(snakeList.get(0).getLayoutX() == snakeList.get(index).getLayoutX() && snakeList.get(0).getLayoutY() == snakeList.get(index).getLayoutY())
{
gameOver = true ;
break ;
}
}
if(gameOver)
endGame() ;
}) ;
time_line = new Timeline(keyFrame) ;
time_line.setCycleCount(Timeline.INDEFINITE) ;
time_line.play() ;
为了简单起见,我避免了import语句和其他一些关于程序逻辑的代码
keyFrame = new KeyFrame(Duration.millis(100), e ->
{
.
.
.
// check if the snake hit itself
for(int index = 1 ; index < snakeList.size() ; index++)
{
if(snakeList.get(0).getLayoutX() == snakeList.get(index).getLayoutX() && snakeList.get(0).getLayoutY() == snakeList.get(index).getLayoutY())
{
gameOver = true ;
break ;
}
}
if(gameOver)
endGame() ;
}) ;
time_line = new Timeline(keyFrame) ;
time_line.setCycleCount(Timeline.INDEFINITE) ;
time_line.play() ;
但是,当蛇死亡的条件满足时,是否有办法从关键帧呼气?不应该
时间线。停止工作?