我有一个从 MovieClip 扩展的自定义类。该类基本上是创建一个按钮,该按钮使用 MovieClip 中的帧标签在分派鼠标事件时在按钮状态之间移动。每个状态(每个大约 20 帧长)都以时间线终止stop()
。
这个类已经在许多其他项目中使用过,但是在我当前的应用程序中的某个点之后,作为我的按钮类的扩展创建的任何按钮都停止执行时间轴上的代码,而只是循环播放。这包括放入时间线的任何跟踪,但类中的所有代码仍然正确执行,即使是按钮状态更改时的 gotoAndPlay 调用。
最奇怪的部分是舞台上任何行为不端的按钮实例都不会引发错误。
我需要的是关于什么可以阻止扩展某个类的任何对象执行时间线代码而不引发错误的建议。
谢谢!
更新:这仍然让我难过。我们的项目通常分为三个部分:轻量级预加载器、语言和年龄门,然后是主应用程序。每一个都被加载到前一个,每次都使用当前的应用程序域。加载主应用程序后,任何扩展 MovieClip(直接或间接)的自定义显示对象都将直接忽略其时间线上的任何动作脚本。然而,播放头仍然可以通过类来控制。
更新 2: 这是我制作的测试按钮类中的代码。注意里面什么都没有。
package com.test
{
import flash.display.MovieClip;
public class TestLabelButton extends MovieClip
{
public function TestLabelButton():void
{
}
}
}
更新3: 所以我缩小了范围,但这很奇怪。看来我可以很好地将我的语言门加载到预加载器中,语言门是一个带有扩展 MovieClip 的自定义文档类的 swf。但在那之后,如果我加载更多包含扩展 MovieClip 的自定义 doc 类的 SWF,就像所有随后实例化的 MovieClip 的扩展都会丢失其时间轴上的所有代码。