2010-12-09 58 views
0

Noob问题(可能)。我有一个var textFieldObjets:Textfield 一类在我的课环境在通过另一个班级访问变量类

我想什么做的,是从另一个类访问此var和更改文本。我尝试了像environnement.textFieldObjets.text = "blabla";得到的错误1119,访问一个可能的未定义属性textFieldObjets通过与静态类型类的引用。我甚至无法访问我的环境类...

我该怎么做?谢谢!

+0

我不知道它是否是拼写错误,但通常在Flex/AS3编码约定中,类名应以大写字母(Environnement)开头。您可以在这里阅读有关这些编码约定的更多信息:http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions#CodingConventions-Classnames – David 2010-12-09 07:46:11

+0

哈哈哈真实!我的坏,而不是一个错字,只是我在训练开始时没有学到的东西。为了将来的编码,我会记住这一点。谢谢! – Elggetto 2010-12-09 08:52:00

回答

1

使该变量成为具有public static标识符的类成员。

public static var textFieldObjects:Textfield; 

有关什么staticpublic关键字的意思是,你可以参考这个问题的详细信息:从Adobe Actionscript 3: Can someone explain to me the concept of static variables and methods?

文档:http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f30.html

+0

哦,这样的静态魔法!我想你只需要公开就可以查看它!非常感谢!!! – Elggetto 2010-12-09 07:39:41

0

您需要声明变量“公开”:

public var textFieldObjects:TextField; 

2.您无法直接通过访问常规属性 - 您需要environnement类的实例。如果您使用的是Flash工具,则需要将组件放置在舞台上(这会创建实例),然后为其提供实例ID。然后,您可以使用该ID从您的动作中访问组件。

所以,如果你打电话给你的实例:myEnv,那么你的动作可能是这样的:

myEnv.textFieldObjets.text = "blabla"; 

如果你在柔性工作,那么它的工作方式相同 - 只需将组件拖到mxml文档,并将它的id属性设置为唯一的名称。现在,您可以使用您定义的ID从脚本访问该组件。