本教程是向武林網(wǎng)的朋友介紹利用FLASH制作數(shù)字天地特效,教程比較簡單,里面涉及到了AS代碼,不過實(shí)用性很強(qiáng),推薦過來,希望對(duì)大家有所幫助!
一、算法分析
每個(gè)數(shù)字的運(yùn)動(dòng)軌跡是如圖2的曲線,曲線的方程為x=sin(i),實(shí)際上是把普通的正弦曲線旋轉(zhuǎn)了90度,把原來的y坐標(biāo)轉(zhuǎn)換成了x坐標(biāo)。數(shù)字num的x坐標(biāo),表示如下:num._x=Math.sin(i),通過復(fù)制函數(shù)復(fù)制多個(gè)數(shù)字,為使每個(gè)數(shù)字的軌跡不同,數(shù)字的x坐標(biāo)乘上一個(gè)隨機(jī)值x,表示如下:num._x=x*Math.sin(i)。數(shù)字的y坐標(biāo)也取隨機(jī)值y,表示如下:num._y-=y。這樣數(shù)字從坐標(biāo)原點(diǎn)沿曲線向上運(yùn)動(dòng),為使數(shù)字可從不同的方向運(yùn)動(dòng),把x坐標(biāo)再乘上一個(gè)-1或1的隨機(jī)值c,表示如下:num._x=c*a*Math.sin(i)。
![請?zhí)砑用枋? src=]()
二、制作過程
1、打開flashMX2004,新建一400px*200px的文檔,背景為白色,幀速率為12fps。
2、按CTRL+F8,新建一MC,在此MC中,建一動(dòng)態(tài)文本,字號(hào)為18,字體為Impact,顏色為#339900,變量名為myNum。新建一層,輸入下列AS:
myNum=random(10);
并插入一幀,讓其循環(huán),這樣動(dòng)態(tài)文本就能顯示從0到9的隨機(jī)數(shù)字。如圖3所示![請?zhí)砑用枋? src=]()
3、返回主場景,按CTRL+L打開庫,從庫中拖出隨機(jī)數(shù)字的MC,實(shí)例名設(shè)為num,在此MC上輸入下列AS
onClipEvent (load) {
var n = 0;//復(fù)制影片的數(shù)目
var i = 0;//弧度
var x = random(150)+1;//曲線的寬度隨機(jī)
var y = random(5)+1;//MC的y坐標(biāo)遞減量
var c = Math.pow(-1, random(2));//-1的0或1次方,即隨機(jī)的1或-1值
}
onClipEvent (enterFrame) {
if (_name != "num") {
_x = x*c*Math.sin(i += 0.1)+200;
_y -= y;//設(shè)置數(shù)字的坐標(biāo),起始x坐標(biāo)為200,y坐標(biāo)和num相同。
if (_y<0) {
this.removeMovieClip();//如果超出場景,刪除MC
}
} else {
n = (n>50) ? 0 : n+1;//限定MC的數(shù)目為50
this.duplicateMovieClip("num"+n, n);//復(fù)制MC
mc = _parent["num"+n];//獲得MC的實(shí)例名
mc._xscale = mc._yscale=random(80)+10;//MC的大小隨機(jī)
}
}
4、新建一層,按CTRL+R導(dǎo)入位圖,按CTRL+B打散位圖,選取位圖中間的在石塊,按F8轉(zhuǎn)換為MC,實(shí)例名為bg。并在幀中輸入
bg.swapDepths(100);
把此MC的深度設(shè)為100,這樣數(shù)字就好像從石塊底部不斷冒出,形成虛幻的效果。
本例的視覺沖擊力極強(qiáng),如果加到你的網(wǎng)頁中,會(huì)使大家對(duì)你的網(wǎng)頁的專業(yè)性刮目相看。把程序稍加修改,即可做出多種隨機(jī)特效,這留給大家去完成。