【问题标题】:AS3 Two MovieClips Sharing The Same ClassAS3 共享同一个类的两个 MovieClip
【发布时间】:2012-01-01 04:49:34
【问题描述】:

我的库中有两个 MovieClip 符号,我希望它们共享同一个类,但 Flash 不允许我将同一个类分配给任何两个不同的 MC 符号,因此我创建了两个假类来扩展我最初想分享的课程。

因此,由 2 个不同类定义的两个 MC 符号扩展一个不同的类允许我共享同一段代码。

我的问题:有没有更好的方法是在 2 个或更多不同的库符号之间共享一个类?

【问题讨论】:

  • 您没有创建虚假课程。请参阅我对@Cameron 回答的评论。无论您是否定义了一个类,每个库项目都已经是一个唯一的类,如果您不指定类标识符,flash 会自动创建一个。
  • @BoltClock 删除 Flash CS5/CS4/CS3 标签是错误的。这与 IDE 密切相关。
  • 是的,你是对的。我应该更好地选择我的话。当我说虚假时,我实际上是在考虑代理。另外,感谢有关 Flash 自动为每个库项目创建类这一事实的信息,我认为 Flash 仅为包含代码的符号自动创建类,并且它会将这些类放在一个自动创建的包中,该包带有导出的 swf 的名称以 _fla 为前缀的文件(例如 ExportedSwfName_fla)。

标签: actionscript-3 class flash-cs5 flash-ide


【解决方案1】:

无论您在做什么,您都不了解“使用”与影片剪辑对象关联的类的概念。你不可能为两个对象分配相同的类名,即使你是,相信我 IDE 实际上是在创建两个扩展原始类的不同对象。您可以将库项目直接分配给一个类,或者您可以定义一个新的类名,将您引用的 .as 文件/类扩展为基类。后者是旨在将具有基本功能的基类简单地应用于多个对象的解决方案。

这方面的一个示例是定义一个基本类,该类捕获翻转和转出事件,并使剪辑在转入/转出时增长和缩小。然后,您在影片剪辑中制作 10 种不同类型的按钮,并将您制作的类指定为基类,同时为库对象本身提供唯一名称。

【讨论】:

  • 谢谢你的澄清和例子。
  • 使用基类来获得这种行为是很常见的。
  • +1,这比我的回答好得多(现已删除)。我忘了命名库对象...
  • lol omg 使用 Flash 已有 10 多年了,但几乎没有意识到主类下方有一个“基类”字段。哈哈。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 2019-04-02
  • 1970-01-01
  • 2018-02-01
  • 2020-10-16
  • 1970-01-01
相关资源
最近更新 更多