【问题标题】:Empty space after tweening movieclip补间动画剪辑后的空白空间
【发布时间】:2011-10-30 13:38:00
【问题描述】:

这可能看起来有点模糊/令人困惑,但我希望你能明白。

我正在从 XML 填充数组。这些数组内部有动态文本字段,这些文本字段是影片剪辑的子级。

我对这个movieclip 进行了补间,因此使textFields 数组在舞台上一个接一个地进行动画处理。 XML 有两种来源,一种来自实际站点,另一种来自存储在硬盘中的 XML。首先我填充文本字段数组,然后为影片剪辑设置动画。我对第一个执行此操作,然后对其进行动画处理,对第二个执行此操作,对其进行动画处理,对第一个执行此操作,对其进行动画处理,依此类推。

myTween = new Tween(mc,"x",None.easeNone,sizeOfStage,0 - mc.width,mcSpeedAuto,true);

我的补间结束于0 - mc.width,问题是,如果我先补间 “更大”的 XML,当下一个较小的被补间时,在它再次补间大的之前有大量的空白空间(补间空白?)。

myTween.addEventListener(TweenEvent.MOTION_FINISH, onFinish);

onFinish 我清除所有数组(否则第二个的补间仍然会有第一个的信息,例如:第一个有 25 个字段,第二个有 10 个,第一个显示它是 25 个字段,第二个显示 10,并且从第一个留下的 15 个)并在第二个调用补间。我认为这样做我也会清除所有的空白,显然不是。我认为mc.width 只是保持“更大”的价值,并且总是与它相辅相成,在第二种情况下需要更长的时间才能结束。我尝试将 mc.width 设置为每次填充数组时文本字段宽度的总和,但这也没有奏效,所以我不太确定问题出在哪里:/

这太令人困惑了吗? 有什么想法吗?

提前致谢。

【问题讨论】:

  • "0 - mc.width" - 这有意义吗?

标签: flash animation actionscript tween


【解决方案1】:

注意:使用 default as3 Tween 类是 bunk。我这么说是因为很多时候补间会被GC 收集它完成动画之前(这听起来像是你的“空白”来自哪里)。

我建议使用新的补间。有很多关于哪种补间最适合性能的讨论,但我个人倾向于在我的补间相当小的时候轻松(比如你的例子)。

良好的替代补间:

最后两个基于相同的引擎。有人说 Tweener 的性能规模很低,但我更喜欢它的独创性和易用性。 明智地选择!

** 编辑 - 使用 Caurina Tweener 的示例 **

import caurina.transitions.Tweener;

/* tweens "myClip" from it's current alpha to alpha=1.0 in 250ms (1/4
second) using the "linear" functionality */ Tweener.addTween(myClip,
{alpha:1.0, time:0.25, transition:"linear"});

/* tweens "otherClip" from it's current x position to x=100 in 500ms
(1/2 second) using the "easeOutCirc" functionality */
Tweener.addTween(otherClip, {x:100, time:0.5,
transition:"easeOutCirc"});

另外,here's a list of transition types for tweener(点击补间查看它的动画图播放)

【讨论】:

  • 我设法用另一种解决方案解决了我的问题,不过,我会在未来的项目中考虑您的建议!不幸的是,在这个我不能使用外部的东西。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-13
  • 1970-01-01
  • 1970-01-01
  • 2012-09-17
相关资源
最近更新 更多