WEB开发网
开发学院图形图像Flash Flash AS 3.0实例教程:Main类打造发散效果 阅读

Flash AS 3.0实例教程:Main类打造发散效果

 2010-09-29 10:17:04 来源:WEB开发网   
核心提示:1、新建Flash文档,550*400,Flash AS 3.0实例教程:Main类打造发散效果,其它默认,2、创建影片剪辑,3、返回场景1,第一层建背景(随意),新建as图层,选椭圆工具,笔触无

1、新建Flash文档,550*400,其它默认。

2、创建影片剪辑,选椭圆工具,笔触无,填充色放射渐变,画一个椭圆(形状自定,我相你会比我画得更好),右键库中设置链接,类名Ball。

3、返回场景1,第一层建背景(随意),新建as图层,在as图层第一帧输入代码:

//小球的初始位置
[code]//小球的初始位置
var ballx:Number = 275;
var bally:Number = 400;
//小球运动速度
var speed:Number = 5;
stage.addEventListener(MouseEvent.CLICK,shoot);
function shoot(e:MouseEvent):void
{
        for(var i:int = 1;i<9;i++)
        {
                //从库中创建小球
                var ball:Ball = new Ball();
                //初始化小球位置
                ball.x = ballx;
                ball.y = bally;
                //根据三角函数计算小球的速度
                ball.spdx = cosD(i*-20)*speed;
                ball.spdy = sinD(i*-20)*speed;
                //注册enterFrame事件
                ball.addEventListener(Event.ENTER_FRAME,ballMove);
                e.target.addChild(ball);
        }
}
function ballMove(e:Event):void
{
        //获取小球的引用
        var obj:MovieClip = e.target;       
        //设置小球的坐标,实现运动
        obj.x += obj.spdx
        obj.y += obj.spdy
        if(obj.y<0||obj.x<0||obj.x>550||obj.y>400)
        {
                //移除enterFrame事件
                obj.removeEventListener(Event.ENTER_FRAME,ballMove)
                //从显示列表删除
                stage.removeChild(obj)
        }
}
//角度转换为弧度
function angleToRadian(angle:Number):Number
{
        return angle*(Math.PI/180);
}
 
function sinD(angle:Number):Number
{
        return Math.sin(angleToRadian(angle));
}
function cosD(angle:Number):Number
{
        return Math.cos(angleToRadian(angle));
}

Tags:Flash AS 实例

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接