我创建了自己的名为custom_btn的按钮类。我在时间轴上创建了它并导出它以便在ActionScript中使用。我可以创建我的按钮实例,并将其添加到屏幕上。
按钮有一个动态文本字段,我想更改文本。我试图在时间线上给文本字段一个名称,并在我按下按钮时访问它,但是我收到一个错误(我想这是因为这个名字没有被保存到班级里。如何更改文字?
我想做这样的事情:
var myButton:custom_btn = new custom_btn();
myButton.caption = "foo";
答案 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;
我希望这有助于某人。