【问题标题】:In AS3, can a Document class extend another custom class that extends MovieClip?在 AS3 中,一个 Document 类可以扩展另一个扩展 MovieClip 的自定义类吗?
【发布时间】:2011-08-16 17:45:14
【问题描述】:

如果我有一个扩展 MovieClip 的 Document 类,并且我想将它用作另一个 Document 类的基础,是否可以创建一个扩展主文档类的子类并将其用于不同的 FLA?

例如,

fla1.fla 有一个文档类 MyMainClass:

public class MyMainClass extends MovieClip

fla2.fla 有一个文档类 MySubClass:

public class MySubClass extends MyMainClass

我已经尝试过,但现在我收到错误,我的所有引用阶段实例的变量都没有被找到。

【问题讨论】:

  • 是在父类还是子类中找不到的变量?另外,您是否检查过以确保“自动声明阶段实例”已关闭(并且您实际上已经在您的类中声明了它们)?
  • 它们在父类中。它们实际上不是我在代码中声明的变量,它们是舞台上的实例名称。我已经尝试过开启和关闭“声明阶段实例”。

标签: actionscript-3 inheritance actionscript subclass extends


【解决方案1】:

您必须设置 Flash 的“自动声明舞台实例”,并且您需要确保文档的父类是动态的。这两个都会导致你所说的问题。

附带说明 - 由于 Flash 中的错误,如果您将所有变量声明为公共变量以在文档根类中开始,您将遇到更少的问题。

【讨论】:

  • 谢谢!我最终不得不通过并将所有内容添加为公共 var 声明,并关闭“自动声明”。这有点痛苦,但一旦我这样做了,它就会像我希望的那样起作用。
  • 请注意,动态类的性能不如普通类,通常被认为是不好的做法。
  • @Amy 在这种情况下,动态是最好的选择,尤其是与没有技术头脑的人一起工作时。
  • 我不同意,因为显然他想出了如何以更好的做法来做到这一点:)。无论您认为此人多么不专业,展示最佳实践解决方案总是值得的。
  • 很好,但原始发帖人并没有说“我是一名动画师,因此无法理解好的做法。” :)
猜你喜欢
  • 1970-01-01
  • 2011-09-29
  • 2012-05-15
  • 2015-08-27
  • 2020-02-06
  • 2012-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多