Ссылка на мувиклип из другого фильма во Flash AS3 - PullRequest
0 голосов
/ 15 июля 2010

Я создавал простую игру «Drap and Drop», перетаскивая элемент из фрагмента ролика. Все работало нормально, но потом мне пришлось добавить больше элементов, поэтому я создал 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);

Любая помощь приветствуется ... И надеюсь, что это имеет смысл ...

** Edit

По-прежнему с этим трудно бороться, вот мой код:

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;
        }
    }
}

1 Ответ

1 голос
/ 23 июля 2010

Ну вот небольшой код, который может помочь

var Gotparent;

var myobj;

открытый вызов функции (e: Event): void {

 myobj      =  (evt.currentTarget)

 Gotparent  =   myobj.parent;

 addChild(myobj);

 myobj.startDrag(true);

}

открытая функция dropIt (e: Event): void { myobj.stop (); Gotparent.addChild (myobj); }

...