Javafx:for循环中的setRotate和setTranslate

时间:2016-05-20 14:34:46

标签: animation javafx

我是JavaFX的新手,在尝试编写Rubik的立方体求解程序时遇到了旋转动画的问题。 我知道JavaFX为动画提供了一些类,但是我最初想尝试自己的方法,而不是使用它们 以下是我的代码的粗略概念:

for(90 times)
{

 cube.setRotate(cube.getRotate() + 1);

 try{Thread.sleep(100);}
  catch{InterruptedException e) {Thread.currentThread().interrupt();}

}

通过一次旋转立方体一次并使用时间延迟并适当地循环,我希望看到类似于旋转动画的东西。 但是我得到的结果是屏幕中的立方体不会随着for循环中的每个setRotate()而改变,它只会在循环结束后发生变化,因此它会在90 * 100毫秒后一次变化90度。登记/> 我想知道是否有一种方法可以在每次使用setRotate()方法刷新屏幕输出。

1 个答案:

答案 0 :(得分:1)

为什么要避免使用旨在制作动画的机制。难道你不认为他们存在的原因是什么?

使用您的代码阻止JavaFX应用程序线程,并在处理此问题的所有文档中描述了所产生的行为。