视频: [Java 遊戲] 技巧4: 如何在程式製作動畫? (下方有程式碼可下載喔...) 2024
您可以通过将简单的动画效果。通过使屏幕上的对象移动,效果通常会使您的应用程序变得活跃起来。
通过应用特殊效果,合并属性绑定以使控件更具响应性,以及使用声音和媒体来提供音频和视觉兴趣,您可以大大改善JavaFX应用程序的外观和感觉。
<! - 1 - >请不要把你的期望设定为明年赢得奥斯卡最佳动画奖。没有人会愚蠢地认为你在你的应用程序上与皮克斯合作。不过,您可以使用这些技术为应用程序添加一些有趣的技巧。
JavaFX动画的基本思想是定期处理一个或多个节点属性的值。例如,假设您有一个代表球的圆圈,并且您希望将其从屏幕的左侧移动到右侧。假设屏幕的宽度是600像素,您可以通过将其posX属性从0改为600来使该圆圈动起来。
<!有两个因素会影响球在屏幕上的移动速度:在每次更改posX属性之间所经过的时间以及您在每个时间间隔添加到posX属性的增量。例如,如果在每个时间间隔将posX属性添加3,则需要200个间隔才能达到600(3 x 200 = 600)。如果间隔每10毫秒发生一次(每秒100次),则需要2 000毫秒(2秒) - 球从左到右穿过屏幕。
<! - 3 - >
如果没有JavaFX动画,可以通过使用Java Timer对象来定期移动球来实现移动球。 Timer类可能难以正确设置和使用。 JavaFX动画类使您的节点动画化一个更简单的命题。JavaFX提供了两种创建动画的基本方法 -
难度 和 简单方法:
-
难度 要求您手动设置计时器事件,然后编写定时器事件发生时调用的事件侦听器。在事件监听器中,您可以操纵要进行动画的节点的属性。 例如,要在屏幕上移动一个球,您需要设置一个计时器间隔,每10毫秒进行一次滴答。在每次打勾时,你都会将球的x位置增加3,然后设定计时器总共运行200次来移动球。
设置这个动画需要使用两个类:Timeline和KeyFrame,并且编写一个ActionEvent监听器来移动球。
简单的方法
-
利用了由JavaFX提供的快捷类来轻松实现常见的动画类型。 例如,您可以使用TranslateTransition类在指定的时间段内轻松地将圆圈从屏幕的一侧移到另一侧。你只需要设置一个TranslateTransition来指定你希望在2秒的时间内将球的x位置从0变到600。 TranslateTransition类将处理细节。