当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > Flash AS3实例:制作好看的七彩小球动画

ActionScript
Flash as入门(4):AS常用语句
Flash as入门(5):学习AS数组
Flash as入门(6):文本与字符串⒒
Flash AS3鼠标事件使用详解
网页中flash的trace方法输出数据
Flash as入门(11):拖动与碰撞检测
AS教程:随机显示数字
Flash AS文本字段的透明度alpha变换
AS教程:对场景和MC添加鼠标监听
AIR设置:transparent和systemChrome
Flash AS3教程:flash.text.TextField
AS教程:理解变量作用域修饰符(modifier)
ActionScript3.0中类间传值问题解决
ActionScript3.0中类的定义以及类属性
Flash AS3教程:类属性的属性
ActionScript3.0教程:变量
ActionScript3.0教程:方法
ActionScript3.0教程:类的枚举
简单认识Flash as面向对象编程
Flash AS2教程:影片剪辑

ActionScript 中的 Flash AS3实例:制作好看的七彩小球动画


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 89 ::
收藏到网摘: n/a

先看看效果:


详细代码:

var yy:Sound =new Yy();//=====音乐

var ch:SoundChannel=new SoundChannel();

for (var i:int=0; i<48; i++) {//创建一个for循环,循环48次

        var mc:Sprite=new Sprite();//声明一个容器类实例mc

        addChild(mc);//把mc添加显示列表

        mc.name="mc"+i;//mc的名字

        mc.graphics.beginGradientFill("radial",[0xFFFFFF,0x000000],[1,1],[0,160]);//在mc中设置渐变填充样式(放射状,颜色,透明度,色块位置)

        mc.graphics.drawCircle(12,12,12);//在mc中画圆(圆心坐标(12,12)半径12)

        if (i<15) {//如果i小于15

                mc.x=21+34*(i%15);//mc的X坐标为21、55、80……

                mc.y=9;//mc的Y坐标为9

        } else {//否则

                mc.x=21;//mc的X坐标为21

                mc.y=9+35*(i-14);//mc的Y坐标为44、79、114……

        }

        if (i>24) {//如果i大于24

                mc.x=21+34*((i-24)%15);//mc的X坐标为21、55、80……

                mc.y=360;//mc的Y坐标为360

        }

        if (i>38) {//如果i大于38

                mc.x=498;//mc的X坐标为498

                mc.y=9+35*(i-38);//mc的Y坐标为44、79、114……

        }

}

var k:int=0;//声明一个整数型变量k,初始值为0

pl_mc.buttonMode=true

pl_mc.addEventListener(MouseEvent.CLICK,clickEvent);//为按钮a_btn添加鼠标单击事件侦听,调用函数clickEvent

function clickEvent(evt:MouseEvent) {//定义鼠标事件函数clickEvent

        if (k++%2==0) {//k每单击一次增加1,如果k除以2的余数等于2

                ch=yy.play();

                pl_mc.gotoAndStop(2);

                addEventListener(Event.ENTER_FRAME,frame);//添加帧频事件侦听,调用函数frame

        } else {//否则

                removeEventListener(Event.ENTER_FRAME,frame);//移除调用事件frame的帧频事件侦听

                ch.stop();

                pl_mc.gotoAndStop(1);

        }

}

function frame(evt:Event):void {//声明帧频事件函数frame

        for (var i:int=0; i<48; i++) {//创建一个for循环,循环48次

                var MC:Sprite=getChildByName("mc"+i) as Sprite;//声明容器类实例MC,按名字获取

                MC.transform.colorTransform=new ColorTransform(1,1,1,1,Math.random()*510-255,Math.random()*510-255,Math.random()*510-255,0);//设置MC的颜色转换(红绿蓝透明乘数值都为1,红绿蓝偏移量为-255-255之间的随机数,透明度偏移量为0)

        }

}