如果我有一个扩展MovieClip的对象,例如,让我们说它是某种自定义构建的文本字段类(InputField)。
InputField构造函数有2个参数(placeholderText:String = null,displayAsPassword:Boolean = false)。
如果我将影片剪辑拖到舞台上,它将被构建,但不会设置参数。有没有办法在构建时设置它们?
要清楚,我希望能够将这个影片剪辑拖到舞台上,而不是创建它,并从后面的代码中执行addChild()。
答案 0 :(得分:1)
您可以初始化符号本身中的 变量,然后在将它们放置到舞台上后立即设置它们。您还可以从.as文件中访问这些变量。
编辑:要扩展注释,当您在类中声明两个变量时,只需将它们设置为默认值即可,例如:
class MyInputField
{
// Will always set following variables to default values,
// whether using addChild or dragging symbol onto stage.
var placeholderText:String = "Enter text here..";
var displayAsPassword:Boolean = false;
// If needed, store text field via constructor
var tf:TextField;
// Constructor
function MyInputField()
{
}
}
答案 1 :(得分:1)
我不知道这是不是一个好主意,但你可以创建一个扩展你的InputField
的类。您可以更改超级函数内的构造函数参数。
public function CustomInputField() {
super("hello", true);
}
但是,我会使用与您现在在构造函数中使用的参数相同的公共函数init()
。