如何更改JavaFX动画中对象的填充



我正在开发一个简单的Java视频游戏。我决定使用JavaFX的Rectangle类来塑造那个视频游戏的角色。

当角色死亡时,我需要依次更新纹理,直到角色死亡。出于这个原因,我需要实现一个动画。

我试过使用FillTransition,但我无法更改矩形的填充图像,只能更改颜色。。。我应该使用什么样的动画类?

角色的死亡由4个不同的精灵(四个png图像(表示,显示角色逐渐躺在土壤中。我需要依次用这4个图像更改矩形的填充,而角色正在死亡。

Rectangle不是一个很好的节点类型来做这种事情。为此目的使用ImageView要简单得多。

这允许您使用Timeline来操作ImageView:的image属性

final Image[] deathAnimationImages = new Image[] {...};
final ImageView character = ...;
Duration frameDuration = Duration.seconds(1d / deathAnimationImages.length); // 1 second for complete animation
Timeline deathAnimation = new Timeline(new KeyFrame(frameDuration, new EventHandler<ActionEvent>() {
private int index = 0;    
@Override
public void handle(ActionEvent event) {
character.setImage(deathAnimationImages[index]);
index++;
}
}));
deathAnimation.setCycleCount(deathAnimationImages.length);
deathAnimation.play();

如果使用Rectangle+ImagePattern获得给定大小的图像,则可以使用ImageView.fitWidthImageView.fitHeight产生相同的结果。

最新更新