文档类无声地失败

时间:2010-07-21 15:25:04

标签: actionscript-3 flash-cs4

编译我的.fla文件时遇到这个奇怪的问题:它不会使用Document类。这是文档类。 (请注意,父类EditorPlugin扩展了Sprite)。

package com.myproject.plugins.editor {
import flash.display.MovieClip;
import com.myproject.editor.EditorPlugin;
import com.myproject.editor.tools.EpisodeEditorTool;
import com.myproject.editor.tools.NewTabTool;
import com.myproject.editor.tools.ToolManager;

public class EpisodeEditorPlugin extends EditorPlugin{
    public function EpisodeEditorPlugin(){
        trace("creating", this);
        AddAuth(ToolManager.EDIT_EPISODE_AUTH, ToolManager.EDIT_EPISODE_AUTH, EpisodeEditorTool, ToolManager.EDIT_EPISODE_LABEL);
    }
}
}

奇怪的部分是在下面的行中,如果我使用NewTabTool而不是EpisodeEditorTool,代码工作得很好,但是使用EpisodeEditorTool,Class不会实例化。没有警告或编译错误,但我没有得到跟踪。我加载了生成的.swf,它不是EpisodeEditorPlugin类型,而是一个简单的MovieClip( via getQualifiedClassName()并且是EpisodeEditorPlugin)。

EpisodeEditorTool和NewTabTool非常相似,即使使用不同,但非常庞大,这是他们的声明:

public class EpisodeEditorTool extends JPanel implements ITool{

public class NewTabTool extends JPanel implements ITool{

我应该补充说,这两个类都没有包含任何错误(至少根据Flash)并且之前已经在其他.flas中编译过了。我能看到的唯一问题是EpisodeEditorTool比其他ITools更大(r?)。

有没有人知道文档类如何无法应用?并默默地失败了?

谢谢!

1 个答案:

答案 0 :(得分:1)

我唯一能想到的是你没有在Flash IDE中正确指定Document类的名称。在“属性”面板中,有一个框,您可以在其中输入Document类的名称,如果在将类重命名为NewTabTool时Document类正常工作,则必须使用该框。我猜你把NewTabTool放到那个盒子里,然后更改了实际的类名,忘了在Properties面板中更改引用。我以前在更改Document类的名称时忘记了一点,我希望你的解决方案就这么简单!

得不