日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

用flash制作雪花飄飄的動(dòng)畫

 zchening 2010-03-23
1、最簡(jiǎn)單的方法:

只用FLASH做兩個(gè)圖層,第一層第一幀放圖片(如果你想制作透明背景的,就不要放圖片);第二層第一幀選中,然后按F9;在出現(xiàn)的動(dòng)作面板框中貼上下面代碼,就完成了。發(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)思就是通過對(duì)一個(gè)雪花影片剪輯的復(fù)制出許多雪花,當(dāng)然這是有限度的。不然cpu會(huì)受不了的。然后通過設(shè)置復(fù)制出來的雪花的位置坐標(biāo),達(dá)到下雪的效果。

  具體步驟

  1、 運(yùn)行flash mx,設(shè)置文檔屬性為500*400。在圖層1繪制一個(gè)漸變填充的背景。

  2、 新建一個(gè)影片剪輯,命名為“雪花”。在編輯區(qū)內(nèi)畫一個(gè)簡(jiǎn)單的雪花形狀。大小約為11*11像素。

    3、 返回到主場(chǎng)景,把影片剪輯“雪花”拖放到場(chǎng)景中,在屬性面板中命名為“snow”。

  4、 選中影片剪輯,打開as面板,添加如下語句:

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()來更好的控制。
 
if (this._x>500) { 
this._x = 0; 
}
  //當(dāng)雪花飄出主場(chǎng)景時(shí),重新回到主場(chǎng)景的左方。
 
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++; 
}


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多