本教程主要用Flash AS3來制作好看的七彩小球動(dòng)畫,下面我們一起來學(xué)習(xí)吧。先看看效果:
詳細(xì)代碼:
var yy:Sound =new Yy();//=====音樂
var ch:SoundChannel=new SoundChannel();
for (var i:int=0; i<48; i++) {//創(chuàng)建一個(gè)for循環(huán),循環(huán)48次
var mc:Sprite=new Sprite();//聲明一個(gè)容器類實(shí)例mc
addChild(mc);//把mc添加顯示列表
mc.name="mc"+i;//mc的名字
mc.graphics.beginGradientFill("radial",[0xFFFFFF,0x000000],[1,1],[0,160]);//在mc中設(shè)置漸變填充樣式(放射狀,顏色,透明度,色塊位置)
mc.graphics.drawCircle(12,12,12);//在mc中畫圓(圓心坐標(biāo)(12,12)半徑12)
if (i<15) {//如果i小于15
mc.x=21+34*(i%15);//mc的X坐標(biāo)為21、55、80……
mc.y=9;//mc的Y坐標(biāo)為9
} else {//否則
mc.x=21;//mc的X坐標(biāo)為21
mc.y=9+35*(i-14);//mc的Y坐標(biāo)為44、79、114……
}
if (i>24) {//如果i大于24
mc.x=21+34*((i-24)%15);//mc的X坐標(biāo)為21、55、80……
mc.y=360;//mc的Y坐標(biāo)為360
}
if (i>38) {//如果i大于38
mc.x=498;//mc的X坐標(biāo)為498
mc.y=9+35*(i-38);//mc的Y坐標(biāo)為44、79、114……
}
}
var k:int=0;//聲明一個(gè)整數(shù)型變量k,初始值為0
pl_mc.buttonMode=true
pl_mc.addEventListener(MouseEvent.CLICK,clickEvent);//為按鈕a_btn添加鼠標(biāo)單擊事件偵聽,調(diào)用函數(shù)clickEvent
function clickEvent(evt:MouseEvent) {//定義鼠標(biāo)事件函數(shù)clickEvent
if (k++%2==0) {//k每單擊一次增加1,如果k除以2的余數(shù)等于2
ch=yy.play();
pl_mc.gotoAndStop(2);
addEventListener(Event.ENTER_FRAME,frame);//添加幀頻事件偵聽,調(diào)用函數(shù)frame
} else {//否則
removeEventListener(Event.ENTER_FRAME,frame);//移除調(diào)用事件frame的幀頻事件偵聽
ch.stop();
pl_mc.gotoAndStop(1);
}
}
function frame(evt:Event):void {//聲明幀頻事件函數(shù)frame
for (var i:int=0; i<48; i++) {//創(chuàng)建一個(gè)for循環(huán),循環(huán)48次
var MC:Sprite=getChildByName("mc"+i) as Sprite;//聲明容器類實(shí)例MC,按名字獲取
MC.transform.colorTransform=new ColorTransform(1,1,1,1,Math.random()*510-255,Math.random()*510-255,Math.random()*510-255,0);//設(shè)置MC的顏色轉(zhuǎn)換(紅綠藍(lán)透明乘數(shù)值都為1,紅綠藍(lán)偏移量為-255-255之間的隨機(jī)數(shù),透明度偏移量為0)
}
}