分享

as3烟花

 宜宾翠屏区 2019-02-25

var sprite:Sprite=new Sprite();
sprite.graphics.beginFill(Math.random()*0xFFFFFF);

sprite.graphics.drawCircle(0,0,2);

sprite.graphics.endFill();

addChild(sprite);
var balls:Array=new Array();
var grat:Number = 0.5;
var k:int = 0;
addEventListener(Event.ENTER_FRAME,frame0);
function frame0(e:Event)
{
 if (k<=150)
 {
  var ball:Ball=new Ball();
  ball.x = 275;
  ball.y = 400;
  ball.vx = Math.random() * 10 - 5;
  ball.vy = Math.random() * -10 - 10;
  balls.push(ball);
  stage.addChild(ball);
 }
 k++;
}
var bitd:BitmapData = new BitmapData(550,400,false,0x000000);//声明一个位图数据类实例bitd,图片的宽为550,高为400,不支持透明度,颜色为黑色
var bit:Bitmap = new Bitmap(bitd);//声明一个位图显示类实例bit,用来显示bitd
addChild(bit);//把bit添加到显示列表
addEventListener(Event.ENTER_FRAME,frame);//添加帧频事件侦听,调用函数frame
function frame(e:Event)
{//定义函数frame
 for (var i:int=0; i<balls.length; i++)
 {//创建一个for循环
  var a:Ball = balls[i];//声明一个变量a,为数组中第i个元素
  a.x +=  a.vx;//第i个小球的X坐标递加a.vx
  a.vy +=  grat;//a.vy递加5
  a.y +=  a.vy;//第i个小球的Y坐标递加a.vx
  if (a.x + a.width / 2 < 0 || a.x - a.width / 2 > 550 || a.y + a.height < 0 || a.y - a.height > 400)
  {//如果小球出了场景的边界
   a.x = 275;//小球的横坐标为275
   a.y = 400;//小球的纵坐标为400
   a.vx = Math.random() * 10 - 5;//小球的横向的坐标变化为-5-5之间的随机数
   a.vy = Math.random() * -10 - 10;//小球的纵向向的坐标变化为-20--10之间的随机数
  }
 }
 bitd.draw(stage);
}
var blurFilter:BlurFilter = new BlurFilter(6,6,1);
bit.filters = [blurFilter];

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多