AS3的类间变量

时间:2013-02-28 09:53:20

标签: actionscript-3 variables

我有一个按钮,这是一个类,比如Button。还有一个主文档(Main类),我可以看到文本字段中的所有更改,每帧都刷新(是的,我不喜欢trace())。该按钮具有更改主文件中使用的变量的功能。因此,当我按下按钮时,我将主文件添加到舞台中,我需要它的功能才能工作。 Button类有this.addEventListener(MouseEvent.CLICK,function),进一步的函数从主类添加到var。所以,如果它确实添加了,我会在文本字段中看到更改。我看到我在图形编辑器中直接添加的对象所做的更改,但没有更改按钮,我添加了它的子项。变量是公开的。功能都是公开的。所以......

课程不能自由交换变量?

如何通过其他类中的函数更改变量?

也许我需要导出和导入var?我认为它们都是一个共享所有公共变量的统一程序。

Main:我创建了var i,将Button child添加到舞台并显示每帧= D

按钮:当你按下我时,我将1加到i = D

SherWood:主,Y你不显示我,改变了按钮? T_T

代码示例:

http://piratepad.net/g5tTMFX4Bo

1 个答案:

答案 0 :(得分:1)

Button(或任何其他类)没有使用它的实例的环境的内置知识。

DisplayObject祖先可以通过parentstage属性检查父容器和“主”容器。

程序员角色(你)是编码灵活的方式来交换任何2个(或更多)类需要具有的信息,例如:通过公开公共方法/属性,调度事件(其他方可以听)等。

因此,如果主要需要知道按钮(Button的实例)被点击,则为该点击事件的按钮添加监听器,然后你就可以做任何你想要的事情,例如将一个添加到i

如果按钮然后,例如需要通过公开方法呈现最新值Main可以这样做,例如myButton.setLabel("Value of i="+i);可以在上述点击监听器中执行,

问候