0

ムービー クリップ内からアイテムをドラッグ アンド ドロップする、ドラップ アンド ドロップの単純なゲームを作成していました。すべてが正常に機能していましたが、アイテムを追加する必要があったため、ScrollPane を作成し、それを介してムービー クリップを参照しました。今度は、そのムービークリップを参照する方法をやり直す必要があります。

ムービークリップがエクスポートされるため、スクロールペインに取り込むことができます...

前:

package {

    import flash.display.*;
    import flash.geom.Point;
    import flash.events.*;

    public class shopping extends Sprite {

        public function shopping() {

            shoppinglist.Ketch.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
            shoppinglist.Ketch.addEventListener(MouseEvent.MOUSE_UP, dropIt);

どんな助けでも歓迎します...そして、これが理にかなっていることを願っています...

**編集

これでまだ本当に苦労していますが、これが私のコードです:

package {

    import flash.display.*;
    import flash.events.MouseEvent;
    import flash.geom.Point;
    import flash.events.KeyboardEvent;
    import flash.events.*;

    public class shopping extends MovieClip {

        public function shopping() {

            var counter:Number = 0;
            var startX:Number;
            var startY:Number;
            var budget:Number = 25
            scoreText.text = 'You have £'+budget+' for your weekly shop';
            priceText.text = '£'+budget;


            ScrollList.Ketch.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
            ScrollList.Ketch.addEventListener(MouseEvent.MOUSE_UP, dropIt);

            public function pickUp(e:MouseEvent):void {
                e.target.startDrag(true);
                reply_txt.text = "";
                e.target.parent.addChild(e.target);
                startX = e.target.x;
                startY = e.target.y;
            }

            public function dropIt(e:MouseEvent):void {
                e.target.stopDrag();
                if (e.target.dropTarget != null && e.target.dropTarget.parent == trolley){
                    //reply_txt.text = "Good Job!";
                    e.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickUp);
                    e.target.removeEventListener(MouseEvent.MOUSE_UP, dropIt);
                    e.target.buttonMode = false;
                    //e.target.x = trolley.x;
                    //e.target.y = trolley.y;

                    if(e.currentTarget.name == 'Ketch'){
                        budget -= 1.25;
                        scoreText.text = 'You have £'+budget+' for your weekly shop';
                    }

                    counter++;
                } else {
                    //reply_txt.text = "Try Again!";
                    e.target.x = startX;
                    e.target.y = startY;
                }
                if(counter == 4){
                    reply_txt.text = "Congrats, you're finished!";
                }
            }

            ScrollList.Ketch.buttonMode = true;
        }
    }
}
4

1 に答える 1

1

さて、ここに役立つかもしれない小さなコードがあります

var Gotparent;

var myobj ;

public function pickUp(e:Event):void {

 myobj      =  (evt.currentTarget)

 Gotparent  =   myobj.parent;

 addChild(myobj);

 myobj.startDrag(true);

}

public function dropIt(e:Event):void { myobj.stop(); Gotparent.addChild(myobj); }

于 2010-07-23T13:06:28.803 に答える