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

如何使用多个影片剪辑添加子级。我正在创建一个影片剪辑,并想在两个位于舞台上的影片剪辑中添加子级。请帮帮我。

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

4

1 回答 1

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));
于 2012-11-09T09:14:28.430 回答