2012-11-09 3 views
2
var txt_mc:movieClip=new movieClip(); 
    createTxt(3) 
    function createTxt(_no):void 
    { 
     var _sy = 0; 
     for (var i=0; i<_no; i++) 
     { 
      var txt:TextField = new TextField(); 
      txt_fmt.size = _size; 
      txt.defaultTextFormat = txt_fmt; 
      //txt.autoSize = TextFieldAutoSize.CENTER; 
      txt.autoSize = TextFieldAutoSize.LEFT; 
      txt.selectable = false; 
      txt.embedFonts = true; 
      txt.x = 0; 
      txt.y = _sy; 
      _sy = _sy + 25; 
      //txt.border = true 
      txt.text = "Enter your text here"; 
      txt_mc.addChild(txt); 
     } 
     mc1.addChild(txt_mc); 
      mc2.addChild(txt_mc); 
    } 

어떻게 여러 영화 클립을 추가 할 수 있습니까? 무비 클립을 만들었으며 무대에있는 두 개의 무비 클립에 추가 기능을 추가하려고합니다. 나를 도와주세요.as3의 다중 무비 클립이있는 addchild

내가 원하는 txt_mc는 mc1과 mc2에 추가되고 해당 코드 txt_mc는 mc2에만 추가됩니다.

답변

0

두 개의 다른 컨테이너에 하나의 무비 클립의 동일한 인스턴스를 추가 할 수 없습니다. 그러나 두 개의 유사한 txt_mc 인스턴스를 만들어 mc1과 mc2에 추가 할 수 있습니다.

업데이트 : createTxt 함수를 수정할 수 있으므로 호출 할 때마다 txt_mc의 새 인스턴스가 반환됩니다. 원하는 컨테이너에 추가하십시오.

function createTxt(_no):MovieClip 
{ 
    var txt_mc:movieClip=new MovieClip(); 
    var _sy = 0; 
    for (var i=0; i<_no; i++) 
    { 
     var txt:TextField = new TextField(); 
     txt_fmt.size = _size; 
     txt.defaultTextFormat = txt_fmt; 
     //txt.autoSize = TextFieldAutoSize.CENTER; 
     txt.autoSize = TextFieldAutoSize.LEFT; 
     txt.selectable = false; 
     txt.embedFonts = true; 
     txt.x = 0; 
     txt.y = _sy; 
     _sy = _sy + 25; 
     //txt.border = true 
     txt.text = "Enter your text here"; 
     txt_mc.addChild(txt); 
    } 
    return txt_mc; 
} 

mc1.addChild(createTxt(3)); 
mc2.addChild(createTxt(3)); 
+0

감사합니다. Lvan. mc1에 대한 createTxt (3) 함수를 호출 한 다음 mc2에 대한 createTxt (3)를 호출 할 수 있습니까? –

+0

확실한 답변을 한 예를 추가했습니다. –

관련 문제