提示:這是個(gè)很妙的效果,說(shuō)這句話是為了引起你的閱讀興趣,提供思路為主,以文字為例,更好的效果如把文字換成圖片散射依照這個(gè)思路應(yīng)當(dāng)可以很完美的實(shí)現(xiàn),同時(shí),第三部分的BUG已經(jīng)清除,所以我對(duì)本文章作下修改,謝謝各位的幫忙。
第一部分:同一坐標(biāo)點(diǎn)散射,類似煙花效果
目標(biāo):大量文字從一個(gè)原點(diǎn)向四周散射
“大量”———————很顯然,要用到duplicatemovieclip或者attachmovie,這里我選擇attachmovie,至于
什么原因,以下我將闡述。
“散射”——————x,y偏移,結(jié)合Math.random()就是隨機(jī)偏移.隨機(jī)數(shù)的取值要有正且有負(fù),因?yàn)樯⑸涫撬拿姘朔降腦,Y偏移。
“一個(gè)原點(diǎn)”————這個(gè)效果的原理理解關(guān)鍵點(diǎn)就在這里,一個(gè)原點(diǎn),換句話說(shuō)就是將復(fù)制出來(lái)的MC坐標(biāo)歸于一個(gè)位置,這樣任意一個(gè)x,y偏移值,播放起來(lái)就是一個(gè)散射,他不同于那種“不同坐標(biāo)點(diǎn)散射”,即如果你把復(fù)制出來(lái)的坐標(biāo)值隨機(jī)設(shè)定,加上一個(gè)單純的x,y偏移,MC會(huì)到處亂飛,畫(huà)面會(huì)毫無(wú)規(guī)律。這一點(diǎn)一定要理解。
實(shí)現(xiàn)步驟:
1,隨便做個(gè)帶文字的MC,在庫(kù)中l(wèi)inkage名為mymc
2,舞臺(tái)時(shí)間軸代碼:
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
}//自定義函數(shù),取兩數(shù)之間的隨機(jī)數(shù)
mcnum=randrange(minmc,maxmc)
trace(mcnum)//測(cè)試用
for(i=0;i<=mcnum;i++){
dupmc=attachMovie("mymc","mymc"+i,10+i)
trace(dupmc)//測(cè)試用
dupmc._x=200
dupmc._y=200//設(shè)定同一個(gè)坐標(biāo)位置
dupmc._xscale=dupmc._yscale=randrange(0,100)
dupmc.speedx=randrange(-maxspeed,maxspeed)
dupmc.speedy=randrange(-maxspeed,maxspeed)//每一個(gè)復(fù)制出來(lái)的MC都會(huì)有一個(gè)隨機(jī)x,y偏移(從自己
的負(fù)值到自身值,保證了坐標(biāo)既有正也有負(fù))
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,代碼結(jié)束,以下我談?wù)勎覟槭裁床挥胐uplicatemovieclip而用attachmovie
我們都知道把duplicatemovieclip或attachmovie前面加一個(gè)變量,很方便調(diào)整MC屬性,書(shū)寫(xiě)也簡(jiǎn)單,但實(shí)
現(xiàn)方式有兩種。
起初我是用duplicatemovieclip,前面設(shè)定了一個(gè)變量,即:
dupmc=duplicatemovieclip("mymc","mymc"+i,10+i)
trace(dupmc)//測(cè)試用
輸出undefined,而換成attachmovie就能正常輸出了
所以我選擇了attachmovie,但說(shuō)實(shí)在話,attachmovie也不是什么好鳥(niǎo),MC一大,就會(huì)延遲進(jìn)度,所以這是個(gè)問(wèn)題,歡迎共同探討,我就來(lái)拋磚引玉
效果欣賞 源碼下載
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇