add3与as3中的多个movieclip

时间:2012-11-09 09:02:53

标签: actionscript-3 flash addchild

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

我如何添加多个动画片段。     我创建了一个movieclip,并想在两个位于舞台上的动画片段中添加两个孩子。     请帮帮我。

我想将txt_mc添加到mc1和mc2中,并且从该代码开始,txt_mc仅在mc2中添加。

1 个答案:

答案 0 :(得分: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));