Actionscript 3 通过另一个类访问类中的变量
Noob问题(可能)。我有一个带有Actionscript 3 通过另一个类访问类中的变量,actionscript-3,class,variables,Actionscript 3,Class,Variables,Noob问题(可能)。我有一个带有var textFieldObjets:Textfield 在我的班级里环境 我想做的是,从另一个类访问这个var并更改文本。我试过类似于environnement.textFieldObjets.text=“blabla”获取错误1119,通过静态类型类的引用访问可能未定义的属性textFieldObjets。我甚至不能进入我的环境课程 我怎么能这么做?谢谢 使变量成为具有public static标识符的类成员 public static var textF
var textFieldObjets:Textfield
在我的班级里环境
我想做的是,从另一个类访问这个var并更改文本。我试过类似于environnement.textFieldObjets.text=“blabla”代码>获取错误1119,通过静态类型类的引用访问可能未定义的属性textFieldObjets。我甚至不能进入我的环境课程
我怎么能这么做?谢谢 使变量成为具有public static
标识符的类成员
public static var textFieldObjects:Textfield;
有关静态
和公共
关键字含义的更多信息,您可以参考以下问题:
Adobe提供的文档:1。您需要将变量声明为“public”:
2。您不能直接通过类访问常规属性——您需要环境的一个实例。如果您正在使用Flash工具,则需要将组件放置在舞台上(这将创建实例),然后为其提供实例id。然后您可以使用该id从actionscript访问组件
因此,如果您调用实例:myEnv,那么您的actionscript可能如下所示:
myEnv.textFieldObjets.text = "blabla";
如果您使用flex,那么它的工作方式也是一样的——只需将组件放入mxml文档中,并将其id
属性设置为唯一的名称。现在,您可以使用您定义的id从脚本中访问该组件。ohhh所以静态实现了神奇的效果!我想你只要把它公之于众就可以看到它!谢谢!!!我不知道这是否是打字错误,但通常,在Flex/AS3编码约定中,类名应该以大写字母开头(environment)。您可以在这里阅读更多关于这些编码约定的信息:哈哈,真的!我的错误,不是打字错误,只是我在训练开始时没有学会做的事情。我会记住这一点,以便将来编码。非常感谢。
myEnv.textFieldObjets.text = "blabla";