LEFT = 0;
TOP = 0;
RIGHT = Stage.width;
BOTTOM = Stage.height;
maxspeed=25
maxmc=100
minmc=20
function randrange(min,max){
var randomnum=Math.floor(Math.random()*(max-min 1)) min
return randomnum
}//自定義函數,取兩數之間的隨機數
mcnum=randrange(minmc,maxmc)
trace(mcnum)//測試用
for(i=0;i<=mcnum;i ){
dupmc=attachMovie("mymc","mymc" i,10 i)
trace(dupmc)//測試用
dupmc._x=200
dupmc._y=200//設定同一個坐標位置
dupmc._xscale=dupmc._yscale=randrange(0,100)
dupmc.speedx=randrange(-maxspeed,maxspeed)
dupmc.speedy=randrange(-maxspeed,maxspeed)//每一個復制出來的MC都會有一個隨機x,y偏移(從自己的負值到自身值,保證了坐標既有正也有負)
dupmc.onEnterFrame=function(){
this._x =this.speedx
this._y =this.speedy
if (this._x < LEFT || this._x > RIGHT || this._y < TOP || this._y > BOTTOM) {
this.removeMovieClip();
}//end if
}
}
ok,代碼結束,以下我談談我為什么不用duplicatemovieclip而用attachmovie
我們都知道把duplicatemovieclip或attachmovie前面加一個變量,很方便調整MC屬性,書寫也簡單,但實
現方式有兩種。
起初我是用duplicatemovieclip,前面設定了一個變量,即:
dupmc=duplicatemovieclip("mymc","mymc" i,10 i)
trace(dupmc)//測試用
輸出undefined,而換成attachmovie就能正常輸出了
所以我選擇了attachmovie,但說實在話,attachmovie也不是什么好鳥,MC一大,就會延遲進度,所以這是個問題,歡迎共同探討,我就來拋磚引玉。
效果欣賞 源碼下載
新聞熱點
疑難解答