前几天我尝试在flash中设置字符串var,我需要以某种方式将var设置为文本框。我试过这样做:
private var name: String = fromthis.text;
并且它不起作用,任何人都知道为什么?
答案 0 :(得分:0)
如果我猜错了:
private var name: String = fromthis.text;
表示您声明一个名为name
的变量,并在此刻使其值等于fromthis.text
。如果您在fromthis
中输入内容,则不会更改name
变量。您需要收听TextFiled
CHANGE
event以使变量保持最新状态。
<强>更新强>
您收到Error #1009
因为fromthis
在您声明name
变量的位置不可见,因此它等于null
,它不具有任何字段(包括名为text
)的字段,因此您收到此错误。
它可能会发生,因为它尚未在那时创建,或者因为代码位于.as
类文件内,fromthis
位于舞台本身,因此无法像这样访问。
更新2:
如果name
位于类文件中,并且fromthis
刚刚被拖入编辑器中的阶段,那么最好的方法是将其传递给类构造函数:
private var _tf:TextField;
function MyClass(tf:TextField){
_tf = tf;
//or if you need the string from textfield just once you may pass that string
}
并调用类构造函数new MyClass(fromthis)
(假设您可以在实例化类的地方访问fromthis
)。