[ActionScript 3.0] AS3.0 下雨及涟漪效果

帧代码:

stage.frameRate = 80;

function init(x1:Number,y1:Number)
{

    var mc:MovieClip=new MovieClip();

    addChild(mc);

    mc.x = x1;

    mc.y = y1;

    mc.graphics.lineStyle(0.5,0xbbffff,0.6);

    mc.graphics.drawEllipse(-1,-0.3,2,0.6);

    mc.addEventListener(Event.ENTER_FRAME,frame);

    var v0 = 0.5 + 0.3 * Math.random();

    function frame(e)
    {

        mc.scaleX = mc.scaleY +=  v0;

        mc.alpha > 0 ? mc.alpha -=  0.02:[mc.removeEventListener(Event.ENTER_FRAME,frame),removeChild(mc),mc = null];

    }

}

function xiayu()
{

    var timer:Timer = new Timer(200,2);

    timer.addEventListener(TimerEvent.TIMER,onTimer);

    var mc:MovieClip=new MovieClip();

    mc.graphics.beginFill(0xbbffff,0.8);

    mc.graphics.drawEllipse(-0.5,-2,1,4);

    addChild(mc);

    mc.scaleX = mc.scaleY = 0.7 + 0.3 * Math.random();

    var x0 = mc.x = 50 + Math.random() * 450;

    mc.y = -10 - 20 * Math.random();

    var y0 = 30 + 350 * Math.random();

    mc.addEventListener(Event.ENTER_FRAME,frameB);

    function frameB(e)
    {

        if (mc.y < y0)
        {

            mc.y +=  5;

        }
        else
        {

            mc.removeEventListener(Event.ENTER_FRAME,frameB);

            removeChild(mc);

            mc = null;

            init(x0,y0);

            timer.start();

        }

    }

    function onTimer(e)
    {

        init(x0,y0);

    }

}

var t:Timer = new Timer(100,0);

t.addEventListener(TimerEvent.TIMER,onT);

t.start();

function onT(e)
{

    xiayu();

    xiayu();

}

 

posted on 2016-06-28 15:59  晏过留痕  阅读(751)  评论(0编辑  收藏  举报