以下是该方案:
我们的创意团队在Flash CS5创作工具中生成SWF动画,我们(工程师)在运行时将其加载到使用Flex SDK构建的项目中。不使用“3D旋转工具”的动画效果很好。
使用3D旋转工具的动画会产生以下行为:
3D和非3D动画在浏览器标签或独立Flash播放器中自行加载时效果很好。只有在加载到我们的代码生成的SWF中时才会破坏3D。
因此,对于在CS5创作环境中应用3D转换的MovieClip,似乎在我们的代码SWF加载SWF时,这些转换未被应用/遵守。
这是我第一次涉足3D,所以我不确定是什么导致这种情况,但这是我测试/检查/试过的,但都无济于事:
我希望有一些简单的技巧,我缺少一些设置。谢谢你的帮助!
答案 0 :(得分:0)
这可能是您的Flex代码中正在发生的事情,例如停止动画或不启动动画。您可以发布用于加载SWF的代码吗?
这也可能是竞争条件。您可能必须等到加载SWF(例如,添加ToTage事件等)才能使用它们。
答案 1 :(得分:0)
我遇到了你的问题,因为我遇到了完全相同的问题......经过大量的讨论,解决方案(对我而言)归结为:
如果您在任何时候强烈地将CHILD swf键入类,或者使用PARENT中的点语法引用其任何变量,它就会中断。即使它只是一条跟踪消息。
我不得不替换它:
var stoneVideo:StoneVideo = loader.content as StoneVideo;
stoneVideo.stoneText = model.stoneText;
有了这个:
loader.content["stoneText"] = model.stoneText;
它开始正常工作。希望这有帮助!
答案 2 :(得分:0)
我无法发布代码,但事实证明,我们的加载程序代码中的一个过于谨慎的微妙之处从未引起过我们:
我们有一个自定义类,可以为我们加载所有图像(包括一些实用程序和内置的常用功能)。在加载完成时,此代码使用loader.content,将其作为子项添加到自身,并且 - 这是踢脚器 - 使用close()和unloadAndStop()清理不再需要的加载器。
我认为以这种方式清理加载器似乎是合理的,并且它一直工作到现在(使用静态图像,静态SWF和SWF动画),但它在加载3D swfs时引起了上述问题(并且它转向在加载视频SWF时,这也导致奇怪的URL未找到错误。)
禁用过度谨慎的Loader清理修复了我的问题。