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

时间:2012-01-30 23:26:38

标签: flash actionscript-3 dynamic

我创建了自己的名为custom_btn的按钮类。我在时间轴上创建了它并导出它以便在ActionScript中使用。我可以创建我的按钮实例,并将其添加到屏幕上。

按钮有一个动态文本字段,我想更改文本。我试图在时间线上给文本字段一个名称,并在我按下按钮时访问它,但是我收到一个错误(我想这是因为这个名字没有被保存到班级里。如何更改文字?

我想做这样的事情:

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

3 个答案:

答案 0 :(得分:0)

这里似乎有些混乱。

如果你已经创建了一个名为custom_btn的类(理想情况下应该以大写字母引导),那么试试这个......

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

双击要在舞台上打开的符号,然后添加动态文本字段。如有必要,请嵌入字体字形,并为其指定实例名称。

返回库中,确保该符号在符号属性中勾选了为ActionScript导出和第1帧中的导出。

确保Class:path指向Custom_btn.as文件。例如com.Custom_btn,如果Custom_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 :(得分:0)

您可以尝试一些事项:

1)尽量不要将文本字段转换为自己的符号。我很少发现这是必要的。相反,将该字段放在舞台上并命名。如果将其命名为“标题”,则要设置文本的代码为:

myButton.caption.text = "foo";

2)在类中声明一个名为与文本字段相同的公共变量。

public var caption:TextField;

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

我希望这会帮助你。

答案 2 :(得分:0)

所以,事实证明我需要将按钮设为MovieClip。使按钮成为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;

我希望这有助于某人。