我想分两步做以下事情:
- 在 1 秒内将演员比例设置为 1.2,
- 然后将其 z 顺序设置为最高
我如何控制这个?如果使用
sequence(Action action1, Action action2)
那里我必须将 z 顺序更改打包为一个动作,是吗?
我知道在 cocos2d 中使用 block 很容易完成这些动作。
我想分两步做以下事情:
我如何控制这个?如果使用
sequence(Action action1, Action action2)
那里我必须将 z 顺序更改打包为一个动作,是吗?
我知道在 cocos2d 中使用 block 很容易完成这些动作。
设置 Z 索引有点超出 actor 的范围Actions
。你可以用Actions.run(Runnable)
.
class ZIndexSetter implements Runnable {
private int zIndex;
private Actor actor;
public ZIndexSetter(int zIndex, Actor actor) {
this.zIndex = zIndex;
this.actor = actor;
}
@Override
public void run() {
actor.setZIndex(zIndex);
}
}
然后你可以这样使用它:
actor.addAction(Actions.sequence(Actions.scaleTo(1.2f, 1.2f, 1f), Actions.run(new ZIndexSetter(Integer.MAX_VALUE, actor));
但总的来说,我建议,如果你有复杂的动作序列,而且不仅仅是调整大小、移动等,你应该看看更强大的Tween Engine,它需要更多的时间来让事情顺利进行,但是一旦你实现了TweenAccessors
你需要的所有东西,它就会变得非常方便和易于使用。