0

我现在是flash的基础知识。我可以使图像透明和补间等。我想创建一个动画(比如这个),如果有人可以帮助我正确的方向吗?我不知道如何让圆圈动画来显示下一个图像。先感谢您。

4

1 回答 1

2

初级!

所以基本上这里有两个元素在起作用 - 背景图像和动画蒙版。有几种方法可以做到 - 最简单的方法是在时间轴上做。

将您要使用的所有图像(每帧一张)存储在一个 MovieClip(我们将其称为“ImagesClip”)中。

你只需要三层,当前的背景图片会出现在最底层的一个ImagesClip中。下一个背景图像将出现在上一层的 ImagesClip 中,并且将被(在第三层,最顶层)包含圆形动画的遮罩层遮盖。

遮罩层是所有魔法发生的地方。第一帧它是空的,之后一些帧会增长一个小圆圈(只需使用“形状补间”)到一个更大的圆圈(在背景图像的中间),其他圆圈会出现并围绕中心旋转圆圈。这就是动画的工作原理。

要制作轮播效果(无限循环图像),您需要执行以下操作来启动每个动画:

function start_animation(index:uint):void
{
   var previous_index:int = (index - 1);
   if (previous_index < 0) previous_index = num_images - 1;
   current_images_clip.gotoAndStop(previous_index);
   next_images_clip.gotoAndStop(index);
   // Assumes that next_images_clip_mask is empty on the first frame.
   next_images_clip_mask.gotoAndPlay(0);
}

要以编程方式循环,您可以只使用 Timer,其中 start_animation 是对 TIMER 事件的回调(但如果这样做,您必须跟踪变量中的 current_index,并将参数更改为 start_animation 为事件: TimerEvent,自然)。

于 2011-10-16T02:14:08.210 回答