Как запустить drag () любой из объектов на сцене? - PullRequest
0 голосов
/ 18 января 2011

Я хотел бы начать перетаскивание объектов, находящихся на сцене. На сцене есть фрагменты фильмов, которые также включают в себя так много объектов. Когда я нажимаю на любой объект, он должен быть запущен. У вас есть какое-нибудь решение?

addEventListener(MouseEvent.MOUSE_UP, targetMC);
function targetMC(MouseEvent:Event):void
{
    var curinstance = MouseEvent.target.valueOf();
    curinstance.startDrag();
}

Ответы [ 3 ]

0 голосов
/ 18 января 2011

вот ответ

package 
{

    import flash.utils.getTimer;
    import flash.display.MovieClip;
    import flash.net.URLLoader;
    import flash.events.Event;
    import flash.net.URLRequest;
    import flash.events.ProgressEvent;
    import flash.text.GridFitType;
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import fl.transitions.Tween;
    import fl.transitions.*;
    import fl.transitions.easing.*;
    import flash.text.TextField;
    import flash.geom.Rectangle;
    import flash.sampler.NewObjectSample;
    import fl.controls.DataGrid;
    import fl.controls.dataGridClasses.DataGridColumn;
    import fl.data.DataProvider;
    import fl.controls.ScrollPolicy;

    public class Main extends MovieClip
    {


        public function Main():void
        {
            var mc:MovieClip = new MovieClip();
            var mc_arr:Object = new Object();
            addChild(mc);
            for (var j:int=0; j<10; j++)
            {
                var clips:Array = [];


    var mcm:MovieClip = new MovieClip();
    mcm.graphics.drawRect(10*j,100,40,40);
    mcm.graphics.beginFill(0x000000);
    mcm.name = "mc" + j;
    addChild(mcm);



            }

        }

        public function onDown(evt:MouseEvent):void
        {
            evt.target.startDrag();
        }
        public function onUp(evt:MouseEvent):void
        {
            evt.target.stopDrag();
        }
    }

}
0 голосов
/ 16 марта 2011

это ответ ..........

package 
{

    import flash.utils.getTimer;
    import flash.display.MovieClip;
    import flash.net.URLLoader;
    import flash.events.Event;
    import flash.net.URLRequest;
    import flash.events.ProgressEvent;
    import flash.text.GridFitType;
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import fl.transitions.Tween;
    import fl.transitions.*;
    import fl.transitions.easing.*;
    import flash.text.TextField;
    import flash.geom.Rectangle;
    import flash.sampler.NewObjectSample;
    import fl.controls.DataGrid;
    import fl.controls.dataGridClasses.DataGridColumn;
    import fl.data.DataProvider;
    import fl.controls.ScrollPolicy;

    public class Main extends MovieClip
    {


        public function Main():void
        {
            var mc:MovieClip = new MovieClip();
            var mc_arr:Object = new Object();
            addChild(mc);
            for (var j:int=0; j<10; j++)
            {
                var clips:Array = [];


    var mcm:MovieClip = new MovieClip();
    mcm.graphics.drawRect(10*j,100,40,40);
    mcm.graphics.beginFill(0x000000);
    mcm.name = "mc" + j;
    addChild(mcm);



            }

        }

        public function onDown(evt:MouseEvent):void
        {
            evt.target.startDrag();
        }
        public function onUp(evt:MouseEvent):void
        {
            evt.target.stopDrag();
        }
    }

}
0 голосов
/ 18 января 2011

вы можете назначить слушателя на MC / Sprite или Root, который содержит другой ресурс

root.addEventListener(MouseEvent.MOUSE_DOWN, targetMC);

вы можете добавить глобальную переменную, чтобы увидеть, какой объект перемещается, или выполнить итерацию по всем объектам, чтобы остановить их перетаскивание мышью вверх

или используйте регулятор гиперкармы:

http://www.hypeframework.org/02_examples/adjuster/content/01_adjuster/

...