1

我想分两步做以下事情:

  1. 在 1 秒内将演员比例设置为 1.2,
  2. 然后将其 z 顺序设置为最高

我如何控制这个?如果使用

sequence(Action action1, Action action2) 

那里我必须将 z 顺序更改打包为一个动作,是吗?

我知道在 cocos2d 中使用 block 很容易完成这些动作。

4

1 回答 1

1

设置 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你需要的所有东西,它就会变得非常方便和易于使用。

于 2013-11-04T06:34:07.590 回答