没有动态添加按钮和文本框。

我有一个实例名称为slot1的movieclip。

在slot1里面我有一个名为newBtn1的按钮。

在新的Btn1里面,我有一个名为text 1的动态文本框。

slot1.newBtn1.text1.text = "Button";

//这段代码给了我一个错误

                try 
                {
                    slot1.newBtn1.text1.text = "New Game";
                } 
                catch (err:Error) 
                {
                    trace(err);
                }
                slot1.newBtn1.addEventListener(MouseEvent.CLICK, chooceCharacter)

这是下面的错误

ReferenceError: Error #1069: Property text1 not found on flash.display.SimpleButton and there is no default value.

这可以在As2中使用我很确定,但是As3很严格。

我正在使用Flash CC和Flash Develop来代码btw。

===============>>#1 票数:3 已采纳

简短版

如果TextField是你按钮中唯一的东西那么

TextField (slot1.newBtn1.upState).text = "New Game";

长版

您无法以这种方式访问​​TextField,因为SimpleButton不是像MovieClip这样的动态类。 您可以阅读Flash中的动态类 假设您有一个实例名称为“myobj”的对象,并将此对象添加到MovieClip和Sprite中。 以下是访问每个对象的方法。

MovieClip is dynamic
mymovieclip.myobj;

Sprite is not dynamic
mysprite.getChildByName ("myobj");

另一件事是SimpleButton不是像Flash IDE会让你相信的DisplayObjectContainer。 它具有用于显示按钮的属性upState overState downState hitTestState 因此,当您在IDE中的按钮的向上框架中绘制内容时, upState属性将设置为Shape实例。 如果将MovieClip放在Up框架中,则upState将是MovieClip,依此类推。

因此,如果您想要访问该对象,则必须通过状态属性执行此操作。 在您的情况下,您在Up框架中有一个TextField,因此您必须以这种方式访问​​它

slot1.newBtn1.upState;  //this will return a DisplayObject
TextField (slot1.newBtn1.upState);  //this will cast it so you can use it

  ask by Moynul translate from so

未解决问题?本站智能推荐: