1

ステージ上に、インスタンス名が緑とオレンジの 2 つのムービークリップがあります。このコードを使用してフレーム 1 をタイムライン化し、各項目がクリックされるのを前に進めています。

MovieClip.prototype.bringForward = function():void{
    var currentDepth = this.parent.getChildIndex(this);
    if(currentDepth<this.parent.numChildren-1){
        this.parent.setChildIndex(this, currentDepth+1); 
    }
}


green.addEventListener(MouseEvent.MOUSE_UP, clicked);
orange.addEventListener(MouseEvent.MOUSE_UP, clicked);

function clicked(e:MouseEvent){
    e.target.bringForward();
}

これを外部の .as ファイルからロードする方法を教えてください。

package  {


    public class Main {



        public function Main() {

        }



    }

}

私は何度も試しましたが、運がありませんでした。

私はこれを試しました:

package  {

    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.accessibility.AccessibilityProperties;
    import flash.display.Bitmap;
    import flash.display.DisplayObject;
    import flash.display.DisplayObjectContainer;
    import flash.display.MovieClip;
    import flash.display.Stage;
    import flash.events.Event;
    import flash.events.EventDispatcher;
    import flash.events.KeyboardEvent;

    public class Main {




        public function Main() {


            addListeners();




        }



MovieClip.prototype.bringForward = private final function():void{
    var currentDepth = this.parent.getChildIndex(this);
    if(currentDepth<this.parent.numChildren-1){
        this.parent.setChildIndex(this, currentDepth+1); 
    }
}




        private final function addListeners():void
        {

            green.addEventListener(MouseEvent.MOUSE_UP, clicked);
            orange.addEventListener(MouseEvent.MOUSE_UP, clicked);

        }





    private final function clicked(e:MouseEvent)
    {
    e.target.bringForward();
    }





    }

}
4

1 に答える 1

1

プロトタイプのものを使用しないでください。次のようにクラスで関数を作成します。

private function bringForward(clip:DisplayObject):void{
    var currentDepth:int = getChildIndex(clip);
    ... rest of your swapping logic
}

private function clicked(event:MouseEvent){
    bringForward(event.target as DisplayObject);
}
于 2012-11-10T16:32:00.683 に答える