2011-01-18 3 views
0

stage.Tにあるオブジェクトのドラッグを開始したいと思います。ステージのムービークリップには非常に多くのオブジェクトが含まれています。オブジェクトのいずれかをクリックすると、そのオブジェクトが起動します。何か解決策がありますか?あなたが他のリソースステージ内のどのオブジェクトをstartdrag()するのですか?

root.addEventListener(MouseEvent.MOUSE_DOWN, targetMC);

を保持するMC /スプライトまたはルートにリスナーを割り当てることができます

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

答えて

0

は答え

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

です'を使うと、SimpleButtonsを無視するか、スプライトに一時的に追加してスプライトをドラッグするという条件付きで行うことができます。 – Daniel

+0

あなたはSimpleButtonを使用することはできませんが、本質的に同じを行う拡張ムービークリップ – Daniel

+0

どうすればこれらの単純なボタンを避けるために条件文を書くことができますか? – Akhil

0

が、これはあなたが ``のSimpleButtonにstartDrag`を追加することができないための答え..........

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

}