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

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 91 ::
收藏到网摘: 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)

        }

}