我总是使用语法为 MovieCLips 创建附加属性
myMC.myProperty
没有任何声明...但是我只能将此方法与 MovieClips 一起使用。如果我想向按钮或任何不同类型的对象添加属性怎么办?我需要扩展课程吗?你能建议我怎么做吗?非常感谢
我总是使用语法为 MovieCLips 创建附加属性
myMC.myProperty
没有任何声明...但是我只能将此方法与 MovieClips 一起使用。如果我想向按钮或任何不同类型的对象添加属性怎么办?我需要扩展课程吗?你能建议我怎么做吗?非常感谢
您可以在运行时向影片剪辑添加属性,因为MovieClip
它是dynamic
类。如果类不是动态的,您应该扩展它以创建方法和属性。
阅读动态类。
子类是主要解决方案。
Next 仅适用于 mx 组件(flex sdk 3)。大多数组件都有data : Object属性,您可以自由地使用它来存储数据。
猴子修补有时是唯一的方法。它允许您向 flex sdk 类添加自定义属性。我认为你不应该在你的情况下使用它。但是我用它来改变被flex sdk 中的private关键字锁定的核心逻辑。
希望有帮助。
我倾向于为几乎所有东西创建自定义类。
我会扩展相关类并为您的新属性设置一个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