随机化影片剪辑动画的某些值



比方说,我有一个从第0帧开始的动作,它有100x100的大小。然后在第20帧上,尺寸变为100x500,因此电影胶片将垂直拉伸。如果我希望该值在450到550之间,这样当我快速播放时,动画看起来就不一样了,该怎么办?我觉得它需要动作脚本(首选3.0),但我尝试访问movieclip的变量,但找不到任何符合我要求的内容。

我主要想随机化大小,位置,偏斜,如果可能的话,发光滤镜的颜色。(例如,从150开始的R+-10%和从64开始的绿色+-10%)

当大量生产这种MC时会很有用,这样动画看起来就不会那么重复了。

在您的情况下,您可能不想对动画进行"评分",而是使用ActionScript 3为调整大小的动画编写脚本。这可以通过使用Flash提供的AS3Tween类来实现。

// import the namespaces
import fl.transitions.Tween;
import fl.transitions.easing.*;
var endHeight:Number = Math.random() * 100 + 450;
var startHeight:Number = 100;
var myTween:Tween = new Tween(your_movie_clip, "height", Elastic.easeOut, startHeight, endHeight, 20);

有关Tween类的更多信息可以在Adobe和本教程中找到。

您需要使用Math.random()函数。

//$mc is my movieclip
$mc.width = (Math.random()*100)+450;

由于要创建的tween是动态的,在编译过程中无法通过flash预先计算,因此必须以编程方式创建它。

为此,您可以从头开始手工操作,也可以使用Tween类。

// myMC is the movie clip reference you want to resize
new Tween(myMC, "height", Bounce.easeIn, 100, 450 + Math.round(Math.random() * 100), 20, false);

看看http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/transitions/Tween.html

M。

最新更新