基本AS3工作者类的问题

时间:2012-08-28 20:38:41

标签: multithreading actionscript-3

我已经关注了Lee Brimelow的教程(part 1part 2),但不知怎的,我的项目没有按预期工作。

目前,将“src / Secondary.as”发布到“www / assets / swf / secondary.swf”可以正常工作,但是当尝试运行“src / Main.as”时,会出现错误:

Exception fault: TypeError: Error #1007: Instantiation attempted on a non-constructor.
    at Main/init()[/Volumes/DOCUMENTS/Tests/AS3/test-workers/src/Main.as:52]
    at Main()[/Volumes/DOCUMENTS/Tests/AS3/test-workers/src/Main.as:32]

如果有人有时间,你可以看一下my code on Github,也许看看我搞砸了哪里?非常感谢!

1 个答案:

答案 0 :(得分:2)

正如您的错误消息所示:Main.init()方法中第52行引发的问题。您尝试执行的操作是创建SecondarySWF的新实例。我会说你将Secondary类嵌入到SecondarySWF中并不能正常工作,所以它在你的init方法中不可用。您应该在init-method的第一行设置一个断点,当调试器到达这一点时,检查SecondarySWF中的内容。我希望该变量中没有任何内容,因此new SecondarySWF()实际上意味着new null()

由于您使用指定的MIME类型嵌入了secondary.swf,因此Flex编译器会忽略它,因为它无法检测已加载文件中的实际数据类型。我发现this post on Adobe's cookbook page除了使用[Embed]添加文件外,还解释了您必须执行的操作。希望这能满足您的需求。