从输入文本设置私有var字符串

时间:2016-08-29 22:15:46

标签: actionscript-3 flash actionscript

前几天我尝试在flash中设置字符串var,我需要以某种方式将var设置为文本框。我试过这样做:

private var name: String = fromthis.text;

并且它不起作用,任何人都知道为什么?

1 个答案:

答案 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)。