序列操作仅第一个操作在LIBGDX

时间:2017-05-16 16:41:27

标签: android libgdx action scene2d

我正在尝试添加序列操作。问题是只有第一个添加的动作生效。例如,在下面的代码中如果我先添加mta,我只能看到mta动作(第二个动作不起作用)。如果我反转那么我看到只有mtabite生效。 请帮忙

MoveToAction mta = new MoveToAction();
mta.setPosition(x, y);
mta.setDuration(4f);

MoveToAction mtaBite = new MoveToAction();
mtaBite.setPosition(xFinal, yFinal);
mtaBite.setDuration(4f);

SequenceAction sequence = new SequenceAction();
sequence.addAction(mta);
sequence.addAction(mtaBite);

this.addAction(sequence);

2 个答案:

答案 0 :(得分:0)

尝试这样的事情,看看它是否效果更好:

actor.addAction(Actions.sequence(mta, mtaBite));

还要确保您的操作设置正确。

mta.reset();
mta.setTime(0);
mta.setPosition(x, y);
mta.setInterpolation(Interpolation.fade);
mta.setDuration(4f);

答案 1 :(得分:-1)

最好使用Tween Engine为libgdx制作动画。

Tween.to(myobject,Type.POSITION,1.0f)     .targetRelative(10,-20)//目标可以相对于当前值     .delay(2.5f)//可以指定延迟     .ease(Quad.OUT)//可以修改缓动功能     .repeat(2,0.5f)//重复是可能的     .repeatYoyo(2,0.5f)//也是yoyo重复(一个向前播放,另一个向后播放等)     .setUserData(obj)//可以附加自定义对象     .setCallback(cb)//可以指定回调以获得完成通知     .setCallbackTriggers(...)//回调可以在很多事件上启动,而不仅仅是完成     。开始(myManager);

http://www.aurelienribon.com/blog/projects/universal-tween-engine/