如何在LibGDX中制作闪烁动画

时间:2014-12-04 06:40:30

标签: java libgdx

我正在尝试创建一系列动作来模拟我的角色眨眼,但我不知道如何正确地做到这一点。我需要它静止5秒钟,然后眨眼一次,再等待5秒钟,永远循环。希望有人能在这里说清楚。

这是我到目前为止所得到的并不符合我的预期(3f之后,它会一直闪烁,如何检测闪烁动画结束并重置回原位?):

this.addAction( Actions.sequence(
            Actions.run( new Runnable() {
                @Override
                public void run() {
                    stand();
                }
            }),
            Actions.delay(.3f), 
            Actions.run( new Runnable() {
                @Override
                public void run() {
                    blink();
                }
            })));

1 个答案:

答案 0 :(得分:2)

Libgdx有一个班级RepeatAction,这就是你要找的东西 基本上你需要打电话:

this.addAction(Actions.forever(Actions.sequence(
    Actions.run(new Runnable {
        @Override
        public void run() {
            stand();
        }
    }),
    Actions.delay(0.3f),
    Actions.run(new Runnable {
        @Override
        public void run() {
            blink();
        }
    });
)));

但您可以使用new Runnable Libgdx提供的方法之一,而不是使用Actions。 例如,stand(),是不是只做“什么都不做”?这可以通过等待5秒的Actions.delay(5f)来实现 并且blink()不仅仅是从“可见”切换到“不可见”吗? 这可能是Actions.alpha(0, 0.2f),它会在0.2秒内将字符透明度从当前更改为0。然后你可以添加另一个delay让角色“等待”处于不可见状态,并使用Actions.alpha(1, 0.2f)再次显示它。

希望它有所帮助。