0

私は羊のムービークリップシンボルを持っています(シンボル名:「羊」)。これは画面全体にアニメーション化されます。羊のムービークリップの中には、上下に動く 10 代の足があります。羊の動きが止まると、足の動きも止まるようにします。

移動の関数内から脚にアクセスしようとしました:

function sheepMove6() {
    var sheepMoveX6:Tween = new Tween (inst_sheep, "_x", Strong.easeOut, 900, 850, 10, false);

    sheepMoveX6.onMotionFinished = function() {
        sheep.leg1MoveY.stop();
    }
}

また、羊のムービー クリップ内からアニメーションの終了を検出しようとしました。

_root.sheepMoveX6.onMotionFinished = function() {
    leg1MoveY.stop();
}

羊が目的地に着いたら、これらのどちらも足の動きを止めないようです。AS2を使用しています。

- 編集 -

子ムービークリップをターゲットにする方法がわからないので、いくつかの異なる方法でアクセスしようとしましたが、どれもうまくいきませんでした。注: leg1MoveY はトゥイーン変数の名前です

_root.inst_sheep.inst_leg1.leg1MoveY.stop();
_root.inst_sheep.inst_leg1.stop();
_root.inst_sheep.stop();
_root.inst_sheep.inst_leg1.stop();
_root.inst_leg1.stop();
this.inst_sheep.inst_leg1.leg1MoveY.stop();
this.inst_sheep.inst_leg1.stop();
this.inst_sheep.stop();
this.inst_sheep.inst_leg1.stop();
this.inst_leg1.stop();
4

1 に答える 1

0

あなたの映画の構造はよくわかりませんがleg1MoveY、 の関数内で宣言しているだけだと思いますinst_leg1。その場合、その関数内からのみアクセスできますleg1MoveY(その「スコープ」は関数に限定されます)。関数の外で宣言します(leg1が何をしているのか推測しています):

var leg1MoveY:Tween;

function legMove() {
    leg1MoveY = new Tween(... // Tween settings
}

次に、試した最初の行が機能するはずです。

inst_sheep.inst_leg1.leg1MoveY.stop();

ActionScript 2のスコープに関する記事が参考になるかもしれません。

于 2013-02-13T13:57:23.473 に答える