为什么我的flash代码会没用?

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:55:29
这是一个宇宙路径的动画。。。在第四个图层里写上这个代码。又没说有错。。。可是在观看动画的时候,就是不能对one 跟 rada 进行复制?为什么啊 ?
star = star+2;
duplicateMovieClip("_root.one", "one" add star, star);
setProperty("one" add star, _rotation, random(360));
setProperty("one" add star, _alpha, (random(100)));
if (star>500) {
star = 0;
}
radanum = radanum+1;
duplicateMovieClip("_root.rada", "rada" add radanum, radanum);
setProperty("rada" add radanum, _x, random(10)+_root.rada._x);
setProperty("rada" add radanum, _y, random(10)+_root.rada._y);
setProperty("rada" add radanum, _alpha, (random(100)));
if (radanum>500) {
radanum = 0;
}

因为没有形成循环,所有代码只执行一次,所以不能形成闪烁或其他效果。另外random函数的用法不是很对。修改后的代码如下:
star = 0;
radanum = 0;
_root.onEnterFrame = function() {
star = star+2;
duplicateMovieClip("_root.one", "one"+star, star);
setProperty("one"+star, _rotation, Math.random()*180);
setProperty("one"+star, _alpha, Math.random()*100);
if (star>10) {
star = 0;
}
radanum = radanum+1;
duplicateMovieClip("_root.rada", "rada"+radanum, radanum);
setProperty("rada"+radanum, _x, random(10)+_root.rada._x);
setProperty("rada"+radanum, _y, random(10)+_root.rada._y);
setProperty("rada"+radanum, _alpha, (random(100)));
if (radanum>10) {
radanum = 0;
}
};
one和rada影片剪辑可以做成补间动画,让它们自行隐去。另外,以上代码可以实现在原地闪烁的效果,也可以做成在整个舞台闪烁,就是修改每个复制后的MC的坐标,试试看。
我不知道,你的最终效果如何,以上所说仅供参考