2009-06-10 49 views
2

如果我有一个分配给它的类的动画片段,并且我在代码中更改了该动画片段的属性,则似乎该属性不能再在时间轴上进行补间。AS3中的设置属性是否阻止时间轴补间?

例如,如果我的类别集this.x = 100,后来在时间轴上我补间物体的位置,将不发生时间轴补间。

更改要么将scaleX或scaleY属性也似乎阻止发生时间轴补间。

有没有其他人经历过这样的,如果是这样,是有办法解决它?

回答

3

你是不是正确的。更改舞台上MC的某些属性会导致Flash假定您将使用脚本定位它,并且补间将不再起作用。几个解决方法:

  1. 重新包装的东西,以便您分开脚本和IDE定位。也就是说,如果您正在补间对象的X位置并使用脚本旋转它,请更改它以便补间容器剪辑的X,然后旋转其内部的剪辑。
  2. 使用脚本进行所有定位 - 即使用Tween类或补间库。
  3. 如果播放头转到过去的框架,其中剪辑是不是在舞台上,然后在框架上它在哪里,这将“重置”剪辑IDE定位和补间工作。即使您用gotoAndPlay跳过空帧,情况也是如此。因此,举例来说,如果你使用脚本移动第10帧上剪辑,然后在框架20你gotoAndPlay(30);,然后在第30帧补间将正确的,如果你把一个空白帧帧的某处20和30
之间工作
0

,如果我是你,我会严格坚持AS3代码。

进口这些在你的动作

import fl.transitions.Tween; 
import fl.transitions.easing.*; 
import fl.transitions.TweenEvent; 

,然后顶部设置你的吐温这样的:

var myTween:Tween = new Tween(object, "property", EasingType, begin, end, duration, useSeconds);