Animation 如何更改JavaFX动画中对象的填充?
我正在开发一个简单的Java视频游戏。我决定使用JavaFX的Animation 如何更改JavaFX动画中对象的填充?,animation,javafx,Animation,Javafx,我正在开发一个简单的Java视频游戏。我决定使用JavaFX的Rectangle类来塑造视频游戏中的角色 当角色死亡时,我需要按顺序更新纹理,直到角色死亡。出于这个原因,我需要实现一个动画 我尝试过使用填充过渡,但我无法更改矩形的填充图像,只能更改颜色…我应该使用哪种动画类 一个角色的死亡由四个不同的精灵(四个png图像)表示,显示角色逐渐躺在土壤中。我需要在角色死亡时,按顺序用这4幅图像更改矩形的填充。矩形不是执行此类操作的好节点类型。为此,使用ImageView要简单得多 这允许您使用时间线
Rectangle
类来塑造视频游戏中的角色
当角色死亡时,我需要按顺序更新纹理,直到角色死亡。出于这个原因,我需要实现一个动画
我尝试过使用填充过渡
,但我无法更改矩形的填充图像,只能更改颜色…我应该使用哪种动画类
一个角色的死亡由四个不同的精灵(四个png图像)表示,显示角色逐渐躺在土壤中。我需要在角色死亡时,按顺序用这4幅图像更改矩形的填充。
矩形
不是执行此类操作的好节点类型。为此,使用ImageView
要简单得多
这允许您使用时间线
来操纵图像视图
的图像
属性:
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();
final Image[]deathAnimationImages=新图像[]{…};
最终图像视图字符=。。。;
Duration frameDuration=Duration.seconds(1d/deathAnimationImages.length);//1秒钟完成动画
Timeline deathAnimation=新时间线(新关键帧(frameDuration,new EventHandler()){
私有整数指数=0;
@凌驾
公共无效句柄(ActionEvent事件){
字符.setImage(deathAnimationImages[index]);
索引++;
}
}));
deathAnimation.setCycleCount(deathAnimationImages.length);
deathAnimation.play();
如果使用
Rectangle
+ImagePattern
获得给定大小的图像,则可以使用ImageView.fitWidth
和ImageView.fitHeight
生成相同的结果,具体取决于所需的动画类型。请在问题中添加所需结果的说明。你是在使用精灵表还是其他图像或类似的东西?一个角色的死亡是由4个不同的精灵(4个png图像)表示的,它显示角色逐渐躺在土壤上…我需要用这4个图像依次改变矩形的填充,当角色快要死的时候…我不知道我是否已经解释了这个问题。。。