1、最簡單的方法: 只用FLASH做兩個圖層,第一層第一幀放圖片(如果你想制作透明背景的,就不要放圖片);第二層第一幀選中,然后按F9;在出現(xiàn)的動作面板框中貼上下面代碼,就完成了。發(fā)布看看效果。你那里下雪了嗎? fallSnow(this, 100, [550, 400]); function fallSnow(path, num, size) { for (var i = 0; i<num; i++) { path.createEmptyMovieClip("s"+i, i); var mc = path["s"+i]; mc._x = random(size[0]); mc._y = random(size[1]); mc.ro = [1, -1][random(2)]; mc.xtime = random(20); mc.startTime = 0; mc.id = Math.pow(i, 1/2); createSnow(mc, mc.id/2.5, "0xffffff", 20*mc.id); } var loop = function () { updateAfterEvent(); for (var i = 0; i<num; i++) { var mc = path["s"+i]; mc._rotation += mc.ro*5; mc._x += mc.id*mc.ro/10; mc._y += mc.id/2; mc.startTime++; scanTar(mc); scanEdge(mc, size); } }; var interval = setInterval(loop, 10); } function createSnow(mc, radius, c, alpha) { with (mc) { moveTo(0, -radius); beginFill(c, alpha); lineStyle(0, "0x000000", 0); for (var i = 1; i<=6; i++) { var a1 = -Math.PI/6+i*Math.PI/3; var a2 = i*Math.PI/3; lineTo((radius/5)*Math.sin(a1), -(radius/5)*Math.cos(a1)); lineTo(radius*Math.sin(a2), -radius*Math.cos(a2)); } endFill(); } } function scanTar(mc) { if (mc.startTime>=mc.xtime) { mc.startTime = 0; mc.xtime = random(20); mc.ro = [1, -1][random(2)]; } } function scanEdge(mc, size) { if (mc._x>size[0]) { mc._x = 0; } else if (mc._x<0) { mc._x = size[0]; } if (mc._y>size[1]) { mc._y = 0; } } 制作雪花的另外一種方法 主要的構(gòu)思就是通過對一個雪花影片剪輯的復(fù)制出許多雪花,當(dāng)然這是有限度的。不然cpu會受不了的。然后通過設(shè)置復(fù)制出來的雪花的位置坐標(biāo),達(dá)到下雪的效果。 具體步驟 1、 運行flash mx,設(shè)置文檔屬性為500*400。在圖層1繪制一個漸變填充的背景。 2、 新建一個影片剪輯,命名為“雪花”。在編輯區(qū)內(nèi)畫一個簡單的雪花形狀。大小約為11*11像素。 3、 返回到主場景,把影片剪輯“雪花”拖放到場景中,在屬性面板中命名為“snow”。 4、 選中影片剪輯,打開as面板,添加如下語句: onClipEvent (enterFrame) { //每播放一幀就執(zhí)行一次下面的AS 5, 新建一個圖層,在第1幀添加as i = 1; ---------------------------------------我是分割線--------------------------------------- 如果你喜歡我的文章,歡迎掃描二維碼,關(guān)注我的微信公眾號 |
|