我已经关注了Lee Brimelow的教程(part 1,part 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,也许看看我搞砸了哪里?非常感谢!
答案 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]
添加文件外,还解释了您必须执行的操作。希望这能满足您的需求。