2012-02-15 104 views
1

我在場景中有大約1000個對象,每個對象都有特定的符號名稱(「實例」),並帶有空白實例名稱。當我點擊其中一個對象時,我能以某種方式獲得符號名稱嗎?我可以引用這些對象,將它們設置爲x,y等...?謝謝!Flash:獲取符號名稱

+0

你在使用 – mgraph 2012-02-15 23:19:42

+0

不管... :)只是我需要它,如果工作動作它可能在as2或as3中 – InterstellarOverdrive 2012-02-15 23:21:31

回答

0

看到它在行動:http://wonderfl.net/c/hJVd

我用的getChildAt代替symbole命名

package { 
    import flash.events.MouseEvent; 
    import flash.display.MovieClip; 
    import flash.display.Sprite; 
    public class FlashTest extends Sprite { 
     public function FlashTest() { 
      var container_mc:MovieClip = new MovieClip(); 
      this.addChild(container_mc); 
      var new_mc:MovieClip; 

      for(var i:int=0;i<50;i++){ 
       new_mc = new MovieClip(); 
       new_mc.graphics.beginFill(Math.random()*0xFF0000,08); 
       new_mc.x = Math.random()*stage.stageWidth; 
       new_mc.y = Math.random()*stage.stageHeight; 
       new_mc.graphics.drawCircle(0,0,20); 
       new_mc.graphics.endFill(); 
       //new_mc.addEventListener(MouseEvent.MOUSE_DOWN,pressMc);//you can add event here or[2*] 
       container_mc.addChild(new_mc); 
      } 
      //[2*]if you have already childs inside parent MovieClip: 

      var totalChilds:int = container_mc.getChildNums; 
      for(var c:int=0;c<totalChilds;c++){ 
       var mychild_mc:* = container_mc.getChildAt(c); 
       mychild_mc.addEventListener(MouseEvent.MOUSE_DOWN,pressMc); 
      } 
      function pressMc(e:MouseEvent):void{ 
       trace(e.target); 
      } 
     } 
    } 
} 
0

as2/as3問題是相關的。

它取決於你點擊的意思。如果您正在運行Flash應用程序,那麼當您單擊某個符號的實例時,您可以註冊一個事件偵聽器以獲取該位置。當您需要從時間線上的父級訪問它們時,符號需要一個名稱。

您可以訪問與getChildAt(index)方法的MovieClip的孩子們,並得到與numChildren的領域我AS3孩子的數量:

http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/display/MovieClip.html#methodSummary

0

是的,如果你正在使用AS3,請以下程序:

循環每一個對象,並添加一個點擊事件:

myObject1.addEventListener(MouseEvent.Click, onClick); 

創建方法噸Ø處理該事件正在聽:

function onClick(e:MouseEvent) { 
    var myObject:Sprite = e.currentTarget as Sprite; 

    myObject.x = 10; // etc 

} 

這將讓您抓住一次點擊的對象的引用,並對其進行操作。