3

我一直在开发一个 AS3 应用程序,它即将完成。同时,与我合作的一位设计师一直在构建一个单独的 .fla 文件中的影片剪辑,作为应用程序的介绍动画。简介使用 Flash CS4 / Player 10 的 3D 补间动画功能,并且在构建它的 .fla 中运行良好。

问题是,当我将movieclip 导入应用程序的主.fla 时,当我动态实例化movieclip 并将其添加到舞台时,会出现以下运行时错误:

ReferenceError:错误 #1069:在 fl.motion.KeyframeBase 上找不到属性 null 并且没有默认值。

在 fl.motion::KeyframeBase/getValue()

在 fl.motion::MotionBase/getValue()

在 fl.motion::Animator3D/setTime3D()

在 fl.motion::AnimatorBase/set time()

在 fl.motion::AnimatorBase$/processCurrentFrame()

在 fl.motion::AnimatorBase$/parentEnterFrameHandler()

我猜测只是根据我收到的此类错误的数量,在补间动画剪辑中每个关键帧都有一个。我已检查以确保两个 .fla 文件的 Flash 发布设置相同,尽管舞台大小略有不同,但我认为这不是问题所在。我也用谷歌搜索了这个问题,除了kirupa 上的这个孤独的线程之外什么也没找到。

有什么想法吗?

4

2 回答 2

1

好的——原来问题是我们在 Actionscript 源路径中有一个本地版本的 fl.motion 包已经过时了。现在一切都很顺利!

于 2010-01-20T15:43:03.003 回答
0

据我所知,一旦您将 3D Motion Tween 应用于剪辑,您就无法再通过动作脚本对其进行修改。

我建议要么复制剪辑,不带补间,这样您就可以通过动作脚本访问和修改它,至于动画,也许将复制运动作为动作脚本 3.0。它会吐出一大堆看起来很讨厌的代码。另一种方法是使用具有更好语法的 TweenLite 之类的东西“重做”动画。您将选择补间动画,给它一个实例,然后使用instance.motion.keyframes循环遍历关键帧并获取例如位置和旋转值。

它并不像应有的那样理想:(请查看flashthusiast.com网站,了解有关新补间以及如何使用它们的更多见解。

祝你好运,乔治

于 2010-01-20T15:00:51.043 回答