2012-05-29 85 views
0

这是我第一次在论坛发帖,所以先感谢任何花时间阅读/回答这个问题的人。减慢循环动画as3

我想要创建的基本上是一个翻转硬币动画,它开始转速非常快,然后放慢速度停止,随着(随机生成的)侧停止约8秒后向上。

我已经完成了一个完整的翻转动画,它持续了大约半秒钟,并将它制作成一个动画片段......现在我被卡住了!

任何想法,我可能会在actionscript3中做这个?

+0

硬信息,告诉你在哪里卡住了。请告诉我们你已经尝试了什么,以及为什么它不起作用。如果您需要在MovieClip播放之间暂停,请使用Timer类。或者,如果您需要精确控制MovieClip帧,“MovieClip”类将为您提供所需的一切。 –

+0

说实话,我没有真正尝试过任何东西,因为我是一个完整的菜鸟。我通常会做的只是简单地在时间轴上设置动画,但如果可以在AS中完成,那么我宁愿采取这种路线。我不需要它暂停,我只需要它播放约50次的电影剪辑,每次都比最后一次稍慢 – user1423687

回答

1

最快的方法是使用一些非常基本的动作。首先,创建2个动画(一个头,一个尾巴)。现在,您只需要一个框架就可以了,不需要将动画片段放在舞台上。使用以下或类似代码:

var whichSide:int = 0; 
var coin1:coinAnimation1 = new coinAnimation1(); 
var coin2:coinAnimation2 = new coinAnimation2(); 

whichSide = math.Round(math.Random(1)); 

if(whichSide == 1) 
{ 
addChild(coin1); 
} 
else 
{ 
addChild(coin2); 
} 

只是不要忘记右键点击影片剪辑和出口的动作,给影片剪辑类:coinAnimation1和coinAnimation2。

希望这会有所帮助。

+0

谢谢,这真是太棒了:)我应该让这两个动画片段动画变慢,还是是否有可能使用AS来做那件事? – user1423687

+0

那么,如果你能弄明白,动画变得越来越容易,但长动画有更大的文件大小。如果你用动作来做,它将是一个小小的操作! 大约有3种或4种方法可以使用Actionscript来实现 - 最便宜的方法是逐渐减慢帧速率直到它达到零! (事件:事件) { stage.framerate * = 0.95; }' 这可以工作 – HarryT

+0

感谢你的 - 我真的很感激它,但我有其他动画同时进行,所以我不能降低帧频。文件大小对于这个项目并不重要,所以我认为我只是为它制作动画。再次感谢! – user1423687

0

我已经使用Tweener类在'Keyframes'上完成了这样的动画。您可以轻松地补间与特定的过渡关键帧参数...

基本例如:

Tweener.addTween(myMovieClip, {_frame:10, time:2.5}); 

更多关于中间人here