在另一个动画片段中添加动画片段

时间:2018-04-09 04:04:04

标签: actionscript-3 movieclip

我无法使用AS3将子对象嵌入到movieClip中,但我不确定我做错了什么。

我正在尝试使用代码创建一个新的动画片段并将其添加到舞台上。然后我尝试在动画片段中嵌入动态创建的对象。当我跟踪对象时,它表明它们在舞台上而没有嵌入到动画片段中。我查看了论坛,但我没有找到答案。下面是我所拥有的代码的淡化版本。任何帮助表示赞赏。

    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.display.Sprite;
    import flash.text.*;
    import flash.net.URLRequest;
    import flash.display.Loader;

    var btnAImage:Loader = new Loader();
    var image:URLRequest = new URLRequest("btn_A.png");

    public function TextWithImage()
    {
        var TextField1:TextField = new TextField;
        var myText1:String = "TEXT FIELD 1";
        var BtnMovieClip:MovieClip = new MovieClip();
        var btnPadding = 5;
        addChild(BtnMovieClip); //add new MC to stage

        btnAImage.load(image);
        BtnMovieClip.addChild(btnAImage); // no error gets thrown. I am trying to add the btnAImage inside of my BtnMovieClip.
        btnAImage.x = btnPadding; //I am able to reference the btnAImage without referencing the BtnMovieClip object.
        btnAImage.y = btnPadding;
        var screenW = stage.stageWidth;

        TextField1.height = 40;
        TextField1.width = 250;

        var textPadding = 5;

        var TextField1_fontFormat:TextFormat = new TextFormat  ;
        TextField1_fontFormat.size = 40;
        TextField1_fontFormat.font = "TestFont";

        TextField1.defaultTextFormat = TextField1_fontFormat;

        BtnMovieClip.addChild(TextField1); // no error gets thrown. I am trying to add the text field inside of my BtnMovieClip.
        TextField1.text = myText1;

        TextField1.x = (btnAImage.width + textPadding);

        TextField1.y = textPadding;
    }

1 个答案:

答案 0 :(得分:1)

我没有预先加载我的图片,所以我在这里修理它。感谢Organis的帮助!!!

    public var btnAImage:Loader;
    private function Question8_Answer()
    {
        trace("Question8_Answer() was called");
        btnAImage = new Loader();
        btnAImage.load(new URLRequest("btn_A.png"));
        btnAImage.contentLoaderInfo.addEventListener(Event.COMPLETE, TextWithImage);

    }

public function TextWithImage()
{
    var TextField1:TextField = new TextField;
    var myText1:String = "TEXT FIELD 1";
    var BtnContainer:Sprite = new Sprite();
    var btnPadding = 5;
    addChild(BtnMovieClip);

    BtnMovieClip.addChild(btnAImage); 
    btnAImage.x = btnPadding; 
    btnAImage.y = btnPadding;
    var screenW = stage.stageWidth;

    TextField1.height = 40;
    TextField1.width = 250;

    var textPadding = 5;

    var TextField1_fontFormat:TextFormat = new TextFormat  ;
    TextField1_fontFormat.size = 40;
    TextField1_fontFormat.font = "TestFont";

    TextField1.defaultTextFormat = TextField1_fontFormat;

    BtnMovieClip.addChild(TextField1); // no error gets thrown. I am trying to add the text field inside of my BtnMovieClip.
    TextField1.text = myText1;

    TextField1.x = (btnAImage.width + textPadding);

    TextField1.y = textPadding;


    BtnContainer.width = 300;


}