我有一个AS3项目,我试图通过[Embed]
元数据编译几个图像,一个音轨和一个视频。这些是嵌入式产品的要求,因此网络传输不是一种选择。
我遇到了一些非常奇怪的行为 - 一种间歇性的编译数据损坏。有时在项目编译之后,我运行swf并立即关闭并将“警告:无法解析损坏的数据”写入闪存日志。如果我删除二进制文件并清理项目,有时它会在再次构建之后运行正常。有时却没有。
这可能是这个问题中最奇怪的部分,但有时当我看到这个错误时,我可以将视频[嵌入]行物理移动到文件的末尾,然后清理项目,它将构建并运行no问题。有时我会将它们移回文件的开头并构建并运行良好。
它似乎可能是编译器中的一个错误。还有其他人经历过类似的事吗?我的目标是Flash 10.1并使用sprout(http://projectsprouts.org)来构建我的项目。这是用于编译的mxmlc行(mxmlc Version 4.1.0 build 16076):
mxmlc -as3 -static-link-runtime-shared-libraries=true -debug -default-background-color=#ffffff -default-size 712 400 -output=bin/ProjectName.swf -source-path+=.preprocessed/src -source-path+=.preprocessed/assets .preprocessed/src/ProjectName.as
我已经尝试删除-debug
编译器选项并添加-optimize
选项,但没有运气。
任何见解都会非常感激。谢谢!
修改
这个项目将动态编译,不同的资产嵌入到相同的代码库中,因此切换到Flash Builder进行编译实际上不是一个选项......它必须通过命令行mxmlc来完成。 / p>
更新:
原来,损坏的数据信息是由于使用Photoshop的“保存为网络”功能创建的图像。如果我将它们完全保存为PNG图像,我就不会收到消息。然而,正确编辑电影的间歇性似乎仍然是一个问题。现在,有时当项目编译时,它不会抛出任何编译器错误,但我得到一个空白的Flash播放器窗口。在Flash播放器中右键单击会显示一个上下文菜单,其中显示“未加载电影...”的消息。这似乎与首先通过CPP运行的内容有任何关系。
答案 0 :(得分:1)
这显然是Mac OS X下的mxmlc中的一个错误。在发布之后,我发现了一些其他非常奇怪的行为,所以我将整个代码库切换到Windows 7.一切都按预期工作(仍然使用Project Sprouts作为构建工具)。
答案 1 :(得分:0)
Flash构建器很好用。
您是否可以仅针对视频或音乐分离您的问题,或者两种情况都存在问题?