AS3 setChildIndex()

私はsetChildIndex()を使用して現在のムービークリップを前面に表示しようとしています。

タイムラインの最初のフレームに次のコードがあります。

setChildIndex(currentMovieClip,numChildren – 1);

そして、次のエラーが発生しています。

シーン1、レイヤー 'レイヤー2'、フレーム1、ライン20 1093:構文エラー。

シーン1、レイヤー 'レイヤー2'、フレーム1、ライン20 1084:構文エラー:1の前にrightparenが必要です。

私はステージを使用すべきか、それ以外の何かが間違っていますか?

ありがとう

0

4 答え

setChildIndex(currentMovieClip,numChildren - 1);

使用していた - が正しくない、別の文字だった:)

3
追加された

一番上に何かを置くだけの場合(movieclipの場合はSpritesと同じでなければならないと思います)、もう一度ターゲットのaddChildを使うだけで、オブジェクトは一番上に移動する必要があります。

addChild(a); //indexorder a
addChild(b); //indexorder ba
addChild(c); //indexorder cba
addChild(a); //indexorder acb
3
追加された
うん、私はこのアプローチを好む
追加された 著者 Tom,

このコードは一番下のオブジェクトを一番上に置きます:

this.setChildIndex(this.getChildAt(0), (this.numChildren-1));

編集:

Sorry, my first answer was wrong, here's the link to the documentation. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html#setChildIndex()

2
追加された
私は0が最上位のものだとは思わない。もし私がそうするなら、私のMovieClipsはどれも表示されません。
追加された 著者 james,
ありがとうございました。
追加された 著者 james,
申し訳ありませんが、上記のコードがうまくいかない場合は、currentMovieClipやコードの他の部分にも依存しているようです。
追加された 著者 felipemaia,

あなたはコンテナが必要です。

var container:Sprite;

container.addChildAt(object);
container.serChildIndex(object,num);
0
追加された