我在JavaFX中制作一个简单的游戏,我希望在角色战斗时显示动画。当我点击“攻击”时按钮我想显示' fight.gif'动画。当没有点击任何我想要的另一个' waitForAction.gif'要显示。问题是我想要这个' fight.gif'要显示特定的时间,所以可以在“等待”之前看到整个动画。将再次显示。
所以我的问题是:
GIF是个不错的主意吗?如果是,如何控制它们? 如果没有,如何使这些动画有效?
如果您有理解上的问题,我可以发布我想要达到的图片。
答案 0 :(得分:1)
使用Timeline
。例如。要显示2秒的GIF,你可以这样做:
Timeline timeline = new Timeline(
new KeyFrame(Duration.ZERO, e -> { /* display fight.gif */}),
new KeyFrame(Duration.seconds(2), e -> { /* hide fight.gif */})
);
timeline.play();
这种方式的工作方式是时间轴由一系列关键帧组成。每个关键帧都有一个与之关联的时间(时间线上的时间点),在本例中,还有一个要在此时调用的动作。因此,在这种情况下,时间轴开始后零秒,显示fight.gif
,并且在时间轴开始后2秒,隐藏fight.gif
。时间轴是通过调用其play()
方法开始的。
一般情况下,只要您希望自己的用户界面在某个特定时间执行某项操作,某种动画可能会提供一种简单的解决方案。
答案 1 :(得分:-1)
您可以使用时间轴来提供间隔持续时间
USE INFORMATION_SCHEMA;
SELECT TABLE_SCHEMA, TABLE_NAME
FROM information_schema.tables
WHERE TABLE_TYPE LIKE 'VIEW';