我使用以下代码为基于RotatedTranstion的ImageView创建了动画:
ImageView icon = ImageCache.getImage("refresh.png");
RotateTransition rotateTransition = new RotateTransition(Duration.millis(2000), icon);
rotateTransition.setByAngle(360.0);
rotateTransition.setCycleCount(Timeline.INDEFINITE);
rotateTransition.play();
这将产生以下动画:
轮换行动
就像您在动画gif中注意到的那样,动画不是连续的,即在动画周期之间存在很小的延迟(暂停)。
我试图看一下API,但无法弄清楚是什么原因造成了这种延迟以及如何摆脱这种延迟。
每个周期之间的明显停顿是由内插器引起的,默认情况下会使用该插值器Interpolator.EASE_BOTH
(因此它在每个周期的末尾减速并在开始时加速)。
要删除此内容,只需将插值器设置为Interpolator.LINEAR
:
rotateTransition.setInterpolator(Interpolator.LINEAR);
问题内容: 在c ++或c编程语言中,我们知道要使用gotoxy(x,y)来更改坐标,并且可以使用循环和睡眠来更改坐标并制作动画。像这样; 但是我的问题是在JAVAFX 2.0编程中如何?我正在使用netbeans 7.2。感谢您的帮助。 问题答案: 看一下使用时间轴动画。它是JavaFX中动画的关键组成部分, 用于确定动画的关键部分何时以及以什么顺序出现。 这是一个例子
有没有你可以开始和停止一个动画,所以播放1秒,停止1秒?我尝试过用单选按钮与Thread.Sleep切换来实现这一点,但是我认为这种方式是不可能的。有没有其他方法可以做到这一点?多谢了。
问题内容: 无法使此动画图像正常工作,它应该进行360度旋转。 我猜下面的CSS有点问题,因为它保持静止。 问题答案: 这是 正确的动画CSS: 有关代码的一些注意事项: 您已将关键帧嵌套在规则中,这是不正确的 不适用于绝对定位的元素 看看caniuse:IE10不需要前缀
动画outputRotate Out Up LeftRotate InRotate Out Up RightRotate Out Up LeftRotate Out Up RightRotate OutRotate Out Up LeftRotate Out Up RightRotate Out Up LeftRotate Out Up Right
如何在不停止主GUI线程的情况下停止循环?(线程。睡眠(1000)未工作)
下面可运行示例中的箭头应该用从箭头底部到箭头头部的红色alpha渐变填充。 我一定错过了什么明显的事情!? 谢谢你的调查! Stackoverflow希望我添加更多细节,因为“大部分是代码”,但我真的不知道要添加什么。:-)