2012-02-15 13 views
1

シーンには約1000のオブジェクトがあり、それぞれに特定のシンボル名( "インスタンス")と空のインスタンス名があります。それらのオブジェクトの1つをクリックすると、何とかシンボル名を取得できますか?そのようなオブジェクトを参照して、x、yなどを設定できますか?ありがとう!フラッシュ:シンボル名を取得

+0

あなたは:)私はそれがあれば作業する必要があるものは何でも... – mgraph

+0

を何ActionScriptを使用していることをas2またはas3で可能です – InterstellarOverdrive

答えて

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の問題は関連しています。

クリックの意味によって異なります。あなたがフラッシュアプ​​リケーションを実行している場合、はい、シンボルのインスタンスをクリックすると、イベントリスナーを登録してその位置を取得できます。シンボルは、タイムライン上で親からアクセスする必要がある場合には名前が必要です。

あなたはgetChildAt(インデックス)メソッドでムービークリップの子にアクセスし、するnumChildrenフィールドIのAS3で子供の数を取得することができます:

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

0

あなたはAS3を使用している場合は、[はい、追随以下の手順:

ループの各オブジェクトを通って、クリックイベントを追加:

myObject1.addEventListener(MouseEvent.Click, onClick); 

方法tを作成します。 oイベントを受け取ります:

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

    myObject.x = 10; // etc 

} 

これで、クリックしたオブジェクトの参照を取得して操作することができます。アクションでそれを見るために

関連する問題