请教一下随机数的问题,问题比较复杂
新手请教,我想做一个随机出现虫子从屏幕右边移动到左边,途中点击相应的虫子,虫子就消失.
function czinit(){
miceClimbOut();
}
function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return randomNum;
}
function playHammer(mc){ //虫子消失
czxiaoshi_mc._x = mc._x-10;
czxiaoshi_mc._y = mc._y-12;
czxiaoshi_mc.gotoAndPlay(1);
}
function miceClimbOut(){
var randNum:Number = random(4);
trace("randNum"+randNum);
var mc = attachMovie("chongzi" + randNum, "mc" + i, i);
trace(mc);
defineMiceClimbOut(mc);
mc.onPress = function(){
playHammer(mc);
this.removeMovieClip();
}
}
setInterval(miceClimbOut,5000);
function defineMiceClimbOut(mc){ //虫子从右向左移动
mc._y = randRange(20,220);
mc._x = 480;
//trace("mc"+mc);
//trace("mc._y"+mc._y);
mc.onEnterFrame = function(){
if(this._x> -48){
this._x -= 4;
}else{
delete this.onEnterFrame;
}
}
}
czinit();
上面这段程序是随机出现一个虫子从右向左移动,点下虫子消失,但是还有问题(setInterval(miceClimbOut,5000);会自动刷新)。
如何能做到随即从出现几只虫子,然后点下相应的虫子虫子消失,别的虫子继续移动.
[解决办法]
setInterval是每隔5秒就执行函数,无限循环下去.
下面的代码就可以吧: 其实不太懂AS2..
var cID = setInterval(miceClimbOut,5000);if(虫子数目>10){ clearInterval(cID);}
[解决办法]
1.每个虫子就是一个影片剪辑
2.给影片剪辑加点击事件,点击后消失(可以写在每个虫子影片剪辑里)
3.刷新的虫子就是复制一个虫子影片剪辑给相应的属性就可以了(或者从库中都可以)
4.如果想一次刷很多虫子就加刷虫子的function 输入虫子数目去刷虫子,这里注意每个虫子的层数不能一样!