使用flash cs3随机地为对象设置动画,然后在设定的时间后返回到舞台上的位置

时间:2009-12-08 18:02:57

标签: flash animation

我有一个由28个圆圈组成的徽标,我需要使用flash cs3制作动画......

到目前为止,我已使用此http://www.kirupa.com/developer/actionscript/random.htm

随机制作徽标动画

我需要做两件事......

  1. 舞台上的圆圈从他们躺在舞台上的位置开始
  2. 说完45秒后回到那些位置......
  3. 如果任何人可以帮助或指出我正确的方向,我将不胜感激。

    提前致谢!

    安迪

2 个答案:

答案 0 :(得分:0)

听起来你已经完成#1。

对于#2,你需要使用一个Timer并在45秒后将Timer设置为回调(http://theflashblog.com/?p=231)。此外,如果您想将每个徽标的起始位置恢复到初始位置,则需要保存它们的起始位置。

答案 1 :(得分:0)

对于45秒位,您想要使用Timer。要将剪辑返回到它们的起始点,您需要先将它们的起始点存储在数组中。当45秒结束时,停止随机移动并在所有剪辑上循环,为它们提供原始的x,y坐标。

根据该文章的代码完成这些事情并不会特别干净。但是,一些简单的黑客攻击就足够了。

要停止移动,请创建如下全局变量:

var gShouldMove = true;

然后在Movieclip.prototype.move内部,在函数顶部添加以下代码:

if (!gShouldMove) { return; }

现在你可以用Timer做一些事情:

function timerCompleteHandler { gShouldMove = false; }
var myTimer:Timer = new Timer(45000);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler);

这应该会在45秒后阻止剪辑移动。

至于让每个剪辑记住它的起点,你也可以将它添加到MovieClip原型中。这不是我怎么做的,但是因为那就是你正在使用的Kirupa脚本已经存在,它是一致的。