如何减慢javafx动画
How to slow down javafx animation
我正在尝试让 stage.show() 慢下来。我发现我可能需要设置 KeyFrame,但卡在 KeyValue,不了解 T endValue 或 Interpolator 插值器。这是正确的方法吗?如果可以,谁能给我解释一下 T 是什么类型。
谢谢!
控制动画速度
一个animation's speed is primarily controlled by its rate。改变动画的播放速率或动画的持续时间可能是您获得所需动画速度所需要做的全部。
animation.setRate(2) // play the animation at double speed.
animation.setRate(0.5) // play the animation at half speed.
插值
插值器是一种数学函数,用于计算点之间的中间值。这是 interpolation 上的一篇文章。
在 JavaFX 中,插值器用于定义 easing functions 以更改动画关键帧之间的值。很可能,对于您正在做的事情,直线插值器或缓入+缓出插值器都可以(这是两个最常用的插值器)。大多数时候,JavaFX 使用的默认插值器就足够了,您不必更改它。
动画的表观速度也可能受到应用于动画键值的内插缓动函数或键值变化幅度(例如转换的像素数、缩放次数)除以关键帧的持续时间。
进一步参考
如果您不明白这意味着什么,请阅读 JavaFX animation documentation,其中将定义引用的术语并提供有关如何使用它们的示例。
您问题中的其他项目
你想做什么(“stage.show()
放慢速度”)在动画的上下文中对我来说是模棱两可的,所以我不能建议一种方法 - 正如 TheJeed 正确指出的 stage.show() 不是动画,因此尝试将动画应用于 stage.show() 调用没有任何意义。
T
在 KeyValue 的上下文中是 generic type,它似乎回答了您问题中的问题,但没有回答您标题中的问题。
如果 stage
是 JavaFX Stage
,你不能减慢 stage.show()
,因为这不是动画。
我同意这个问题问得不好。我没有正确的方法。只需简单地更改 thread.sleep() 即可。
不过还是谢谢大家!
我正在尝试让 stage.show() 慢下来。我发现我可能需要设置 KeyFrame,但卡在 KeyValue,不了解 T endValue 或 Interpolator 插值器。这是正确的方法吗?如果可以,谁能给我解释一下 T 是什么类型。
谢谢!
控制动画速度
一个animation's speed is primarily controlled by its rate。改变动画的播放速率或动画的持续时间可能是您获得所需动画速度所需要做的全部。
animation.setRate(2) // play the animation at double speed.
animation.setRate(0.5) // play the animation at half speed.
插值
插值器是一种数学函数,用于计算点之间的中间值。这是 interpolation 上的一篇文章。
在 JavaFX 中,插值器用于定义 easing functions 以更改动画关键帧之间的值。很可能,对于您正在做的事情,直线插值器或缓入+缓出插值器都可以(这是两个最常用的插值器)。大多数时候,JavaFX 使用的默认插值器就足够了,您不必更改它。
动画的表观速度也可能受到应用于动画键值的内插缓动函数或键值变化幅度(例如转换的像素数、缩放次数)除以关键帧的持续时间。
进一步参考
如果您不明白这意味着什么,请阅读 JavaFX animation documentation,其中将定义引用的术语并提供有关如何使用它们的示例。
您问题中的其他项目
你想做什么(“stage.show()
放慢速度”)在动画的上下文中对我来说是模棱两可的,所以我不能建议一种方法 - 正如 TheJeed 正确指出的 stage.show() 不是动画,因此尝试将动画应用于 stage.show() 调用没有任何意义。
T
在 KeyValue 的上下文中是 generic type,它似乎回答了您问题中的问题,但没有回答您标题中的问题。
如果 stage
是 JavaFX Stage
,你不能减慢 stage.show()
,因为这不是动画。
我同意这个问题问得不好。我没有正确的方法。只需简单地更改 thread.sleep() 即可。
不过还是谢谢大家!