分享

as3 打造发散效果

 宜宾翠屏区 2018-12-24

//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 = 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));

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多