解決思路
主要的構(gòu)思就是通過(guò)對(duì)一個(gè)雪花影片剪輯的復(fù)制出許多雪花,當(dāng)然這是有限度的,
Flash制作雪花的另外一種方法
。不然cpu會(huì)受不了的。然后通過(guò)設(shè)置復(fù)制出來(lái)的雪花的位置坐標(biāo),達(dá)到下雪的效果。具體步驟
1, 運(yùn)行flash mx,設(shè)置文檔屬性為500*400。在圖層1繪制一個(gè)漸變填充的背景。
2, 新建一個(gè)影片剪輯,命名為“雪花”。在編輯區(qū)內(nèi)畫(huà)一個(gè)簡(jiǎn)單的雪花形狀。大小約為11*11像素。如圖1所示。
3, 返回到主場(chǎng)景,把影片剪輯“雪花”拖放到場(chǎng)景中,在屬性面板中命名為“snow”。
4, 選中影片剪輯,打開(kāi)as面板,添加如下語(yǔ)句:
onClipEvent (enterFrame) { //每播放一幀就執(zhí)行一次下面的AS
this._x += Math.random()*(this._xscale)/10;
this._y += Math.random()*(this._yscale)/10;//讓雪花在X、Y軸方向上運(yùn)動(dòng),每次移動(dòng)的距離為自身大小的1/10左右,為加強(qiáng)隨機(jī)效果,我們用到Math.random()來(lái)更好的控制。
if (this._x>500) {
this._x = 0;
} //當(dāng)雪花飄出主場(chǎng)景時(shí),重新回到主場(chǎng)景的左方,
電腦資料
《Flash制作雪花的另外一種方法》(http://www.ishadingyu.com)。if (this._y>400) {
this._y = 0;
} //當(dāng)雪花飄出主場(chǎng)景時(shí),重新回到主場(chǎng)景的上方。
}
5, 新建一個(gè)圖層,在第1幀添加as
i = 1;
while (i<=200) {
duplicateMovieClip("snow", "snow"+i, i);
setProperty("snow"+i, _x, random(500));
setProperty("snow"+i, _y, random(400));
setProperty("snow"+i, _xscale, Math.random()*60+40);
setProperty("snow"+i, _yscale, eval("snow"+i)._xscale);
setProperty("snow"+i, _alpha, eval("snow"+i)._xscale+random(30));
i++;
}
復(fù)制200個(gè)雪花MC,并為其隨機(jī)放到一個(gè)位置,而雪花的大小也是隨機(jī)產(chǎn)生,而雪花的透明度由雪花的大。╔、Y軸的比例)來(lái)決定,大一點(diǎn)的雪花的透明就越高,小一點(diǎn)的雪花透明度就越底。這樣的效果就是近的雪花看的清楚,而遠(yuǎn)的雪花有點(diǎn)模糊……更加逼真……