1

私は2つのステップで次のことをしたい:

  1. アクター スケール 1.2 を 1 秒に設定し、
  2. 次に、その z オーダーを一番上に設定します

これをどのように制御しますか?使用する場合

sequence(Action action1, Action action2) 

z オーダーの変更をアクションにパッケージ化する必要がありますか?

cocos2d では、ブロックを使用してこれらのアクションを簡単に終了できることを知っています。

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 に答える