【问题标题】:Does setting properties in AS3 prevent timeline tweens?在 AS3 中设置属性会阻止时间线补间吗?
【发布时间】:2010-11-01 22:07:40
【问题描述】:

如果我有一个分配了类的影片剪辑,并且我在代码中更改了该影片剪辑的属性,则似乎无法再对时间轴上的属性进行补间。

例如,如果我的班级设置 this.x = 100,然后在时间轴上对对象的位置进行补间,则不会发生时间轴补间。

更改 scaleX 或 scaleY 属性似乎也可以阻止时间线补间的发生。

有没有其他人经历过这种情况,如果有,有没有办法解决它?

【问题讨论】:

    标签: actionscript-3 timeline tween


    【解决方案1】:

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

    1. Reparent 事物,以便您将脚本定位和 IDE 定位分开。也就是说,如果您在补间对象的 X 位置并使用脚本旋转它,请更改它以便补间容器剪辑的 X,并在内部旋转内部剪辑。
    2. 使用脚本进行所有定位 - 即使用 Tween 类或 tween 库。
    3. 如果播放头越过剪辑不在舞台上的帧,然后到它所在的帧,这将“重置”剪辑以使用 IDE 定位和补间。即使您使用gotoAndPlay 跳过空框也是如此。例如,如果您使用脚本在第 10 帧上移动剪辑,然后在第 20 帧上执行gotoAndPlay(30);,那么如果您在第 20 帧和第 30 帧之间放置一个空白帧,则第 30 帧的补间将正常工作。

    【讨论】:

      【解决方案2】:

      如果我是你,我会严格遵守 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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多