求助关于Flash下雨动画的代码
刚学Flash,我做了个下雨的动画,下雨的写好了,雨点MC代码是onClipEvent(load){speed=random(30)+50;}onClipEvent(en...
刚学Flash,我做了个下雨的动画,下雨的写好了,雨点MC代码是
onClipEvent(load){
speed=random(30)+50;
}
onClipEvent(enterFrame){
this._y+=speed;
if(this._y>790){
this._y=-40;
}
}
新建了一个层,代码是 雨点MC属性中命名是yd
i=1;
while(i<15){
duplicateMovieClip("yd","yd"+i,i);
setProperty("yd"+i,_x,random(570));
setProperty("yd"+i,_y,random(600));
setProperty("yd"+i,_xscale,random(5)+15);
setProperty("yd"+i,_yscale,getProperty(eval("yd"+i),_xscale));
i++
}
_root.yd._visible=0
下雨的就做出来了,但是没有水花,不好看,水花我准备做个MC,所以求助让水花在雨点消失的那个地方播放水花。
还有个问题,就是关于上面while(i<15){ 这句,还不太明白是怎么能控制雨点的数量的。
不明白的还会继续求助。 展开
onClipEvent(load){
speed=random(30)+50;
}
onClipEvent(enterFrame){
this._y+=speed;
if(this._y>790){
this._y=-40;
}
}
新建了一个层,代码是 雨点MC属性中命名是yd
i=1;
while(i<15){
duplicateMovieClip("yd","yd"+i,i);
setProperty("yd"+i,_x,random(570));
setProperty("yd"+i,_y,random(600));
setProperty("yd"+i,_xscale,random(5)+15);
setProperty("yd"+i,_yscale,getProperty(eval("yd"+i),_xscale));
i++
}
_root.yd._visible=0
下雨的就做出来了,但是没有水花,不好看,水花我准备做个MC,所以求助让水花在雨点消失的那个地方播放水花。
还有个问题,就是关于上面while(i<15){ 这句,还不太明白是怎么能控制雨点的数量的。
不明白的还会继续求助。 展开
1个回答
展开全部
先在你的水花动画影片剪辑最后一帧(水花溅起后消失的那帧)上写stop(); 把它拖到场景上,起个实例名叫 "sh"
写在雨点上的代码
onClipEvent(load){
speed=random(30)+50;
}
onClipEvent(enterFrame){
this._y+=speed;
if(this._y>790){
var i = this._name.substr(2,2);
_root["sh"+i]._x = this._x;
_root["sh"+i]._y = this._y;
_root["sh"+i].gotoAndPlay(1);
this._y=-40;
}
}
写在主场景帧上的代码
i = 1;
while (i < 15)
{
duplicateMovieClip("yd", "yd" + i, i);
setProperty("yd" + i, _x, random(570));
setProperty("yd" + i, _y, random(600));
setProperty("yd" + i, _xscale, random(5) + 15);
setProperty("yd" + i, _yscale, getProperty(eval("yd" + i), _xscale));
duplicateMovieClip("sh", "sh" + i, i + 15);
i++;
}
while(i<15) 是雨点的数目,整个场景里的雨总数少于 15点的时候它就会被反复执行,
写在雨点上的代码
onClipEvent(load){
speed=random(30)+50;
}
onClipEvent(enterFrame){
this._y+=speed;
if(this._y>790){
var i = this._name.substr(2,2);
_root["sh"+i]._x = this._x;
_root["sh"+i]._y = this._y;
_root["sh"+i].gotoAndPlay(1);
this._y=-40;
}
}
写在主场景帧上的代码
i = 1;
while (i < 15)
{
duplicateMovieClip("yd", "yd" + i, i);
setProperty("yd" + i, _x, random(570));
setProperty("yd" + i, _y, random(600));
setProperty("yd" + i, _xscale, random(5) + 15);
setProperty("yd" + i, _yscale, getProperty(eval("yd" + i), _xscale));
duplicateMovieClip("sh", "sh" + i, i + 15);
i++;
}
while(i<15) 是雨点的数目,整个场景里的雨总数少于 15点的时候它就会被反复执行,
更多追问追答
追问
对啊,上面给i赋值1,那么i肯定<15啊,循环中i自加也不会影响到while这一句啊,正在纠结这个地方呢。。还有var这句是什么意思啊?
追答
var 是声明一个对象的意思,AS2.0里面有没有var都可以。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |