将属性添加到Button或其他类型的对象

时间:2012-05-24 09:24:50

标签: actionscript-3

我总是使用语法

为MovieCLips创建其他属性
myMC.myProperty

没有任何声明...但我只能使用此方法与MovieClips ..如果我想要一个属性添加到按钮或任何不同类型的对象?我需要延长课程吗?你能告诉我怎么样?非常感谢

3 个答案:

答案 0 :(得分:2)

您可以在运行时向movieclips添加属性,因为MovieClipdynamic类。如果类不是动态的,则应扩展它以创建方法和属性。 Read about dynamic classes

答案 1 :(得分:0)

我倾向于为几乎所有东西创建自定义类 我会扩展相关课程并为您的新房产设置private var。然后,您可以将值传递给构造函数或添加getter / setter方法以在外部调用     


    private function _myProperty:int;
public function get myProperty():int { return _myProperty; }
public function set myProperty(newVal:int):void { _myProperty = newVal; }
Getter / setter方法添加几行代码可能看似不必要,但是当您发现正在设置属性并且您不知道原因时,在大项目中,您可以在set myProperty

中添加一个断点

答案 2 :(得分:0)

  1. 子类是主要解决方案。

  2. 下一步仅适用于mx组件(flex sdk 3)。 大多数组件都有 data:Object 属性,您可以自由地使用它来存储数据。

  3. Monkey patching有时是唯一的出路。它允许您向flex sdk类添加自定义属性。我不认为你应该在你的情况下使用它。但是我用它来改变flex sdk中 private 关键字锁定的核心逻辑。

  4. 希望有所帮助。