我一直在研究AS3应用程序,它已接近完成。与此同时,我工作的一位设计师已经在一个单独的.fla中构建了一个movieclip,它充当了应用程序的介绍动画。介绍使用Flash CS4 / Player 10的3D动画补间功能,并在构建它的.fla中运行良好。
问题在于,当我将movieclip导入到应用程序的主.fla中时,当我动态实例化movieclip并将其添加到舞台时,我会遇到以下运行时错误:
ReferenceError:错误#1069:在fl.motion.KeyframeBase上找不到属性null,并且没有默认值。
at fl.motion :: KeyframeBase / getValue()
在fl.motion :: MotionBase / getValue()
at fl.motion :: Animator3D / setTime3D()
at fl.motion :: AnimatorBase / set time()
at fl.motion :: AnimatorBase $ / processCurrentFrame()
at fl.motion :: AnimatorBase $ / parentEnterFrameHandler()
我猜测只是根据我收到的错误数量,补间动画片段中每个关键帧都有一个。我已经检查过以确保Flash发布设置在两个.fla文件中是相同的,虽然舞台大小略有不同,但我认为这不是问题所在。我也搜索了这个问题,除了but this lonely thread on kirupa之外什么都没找到。
有什么想法?
答案 0 :(得分:1)
好的 - 结果问题是我们在过时的Actionscript源路径中有一个本地版本的fl.motion包。现在一切都在快乐地传播!
答案 1 :(得分:0)
据我所知,将3D动画补间应用于剪辑后,您无法再通过动作脚本对其进行修改。
我建议复制剪辑,不使用补间,这样你就可以通过动作脚本访问和修改它,就像动画一样,也可以将Copy Motion作为Actionscript 3.0。它将吐出令人讨厌的大量代码。另一种方法是使用TweenLite这样具有更好语法的东西来“重做”动画。您可以选择补间动画,给它一个实例,然后使用 instance.motion.keyframes 循环关键帧并获取位置和旋转值。
它不如它应该是理想的:( 请查看flashthusiast.com网站,了解有关新补间的更多见解以及如何使用它们。
古德勒克, 乔治