编译我的.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?)。
有没有人知道文档类如何无法应用?并默默地失败了?
谢谢!
答案 0 :(得分:1)
我唯一能想到的是你没有在Flash IDE中正确指定Document类的名称。在“属性”面板中,有一个框,您可以在其中输入Document类的名称,如果在将类重命名为NewTabTool
时Document类正常工作,则必须使用该框。我猜你把NewTabTool放到那个盒子里,然后更改了实际的类名,忘了在Properties面板中更改引用。我以前在更改Document类的名称时忘记了一点,我希望你的解决方案就这么简单!
得不