Flash 如何更改AS3中按钮上的文本(动态)

Flash 如何更改AS3中按钮上的文本(动态),flash,actionscript-3,dynamic,Flash,Actionscript 3,Dynamic,我创建了自己的按钮类custom_btn。我在时间线上创建了它,并将其导出用于ActionScript。我可以为我的按钮创建一个实例,并将其添加到屏幕上 按钮有一个动态文本字段,我想在其中更改文本。我试图在时间线上给文本字段一个名称,并在我按下按钮时访问它,但我得到了一个错误,我认为这是因为该名称没有保存到类中。如何更改文本 我想这样做: var myButton:custom_btn = new custom_btn(); myButton.caption = "foo"; 这里似乎有些混乱

我创建了自己的按钮类custom_btn。我在时间线上创建了它,并将其导出用于ActionScript。我可以为我的按钮创建一个实例,并将其添加到屏幕上

按钮有一个动态文本字段,我想在其中更改文本。我试图在时间线上给文本字段一个名称,并在我按下按钮时访问它,但我得到了一个错误,我认为这是因为该名称没有保存到类中。如何更改文本

我想这样做:

var myButton:custom_btn = new custom_btn();
myButton.caption = "foo";

这里似乎有些混乱

如果您已经创建了自己的名为custom_btn的类,理想情况下该类应该以大写字母开头,那么请尝试以下操作

确保库中有一个名为Custom_btn的符号

双击符号以在舞台上打开并添加动态文本字段。如有必要,嵌入字体图示符,并为其指定一个实例名txt

回到库中,确保符号在符号属性中勾选了ActionScript导出和第1帧导出

确保Class:path指向自定义_btn.as文件。e、 g.com.Custom_btn如果自定义_btn.as文件位于名为com的文件夹中

package com {

    import flash.display.MovieClip;

    public class Custom_btn extends MovieClip {

        public function Custom_btn() {
            // constructor code
        }
    }

}
然后在文档类中:

var myButton:Custom_btn = new Custom_btn();

addChild(myButton);

myButton.txt.text = "foo";

您可以尝试以下几点:

1尝试不将文本字段转换为其自己的符号。我很少觉得这是必要的。相反,把场地放在舞台上并命名。如果将其命名为“caption”,则要设置文本的代码为:

myButton.caption.text = "foo";
2在类中声明一个名为与文本字段相同的公共变量

public var caption:TextField;
3使用系统字体-至少目前是这样。这将确保显示某些内容,而不是字体问题。如果您决定切换到非系统字体,请确保正确嵌入您选择的字体


我希望这能帮到你。

因此,我需要将按钮制作成电影剪辑。使按钮成为MovieClip允许我为文本字段命名。我调用了MovieClip testBtn_mc,其中的动态文本字段称为button_txt。代码如下所示:

var button:MovieClip;
button = new testBtn_mc();
button.button_txt.text = "New Text";
button.buttonMode = true;
button.mouseChlidren=false;

我希望这对某人有所帮助。

如果caption是文本字段的名称,请尝试myButton.caption.text=foo;我正在用动作脚本代码创建按钮。如果我在时间轴上给它命名,它就不会被保存。如果有办法保存文本字段名称,我想知道。我尝试:在我的按钮上放置一个文本字段,然后转换为符号。如果我从库中选择新创建的按钮,则textfield没有名称。myButtonInstanceName.myLabelId。text@The_asMan:请直接在您的回复上方阅读我的评论。然后发布自定义\u btn的代码