我正在尝试创建一系列动作来模拟我的角色眨眼,但我不知道如何正确地做到这一点。我需要它静止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();
}
})));
答案 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)
再次显示它。
希望它有所帮助。