粒子
2023-03-29 本文已影响0人
skoll
喷火器粒子
emitter = game.add.emitter(game.world.centerX, game.world.centerY, 400);
//随机使用不同火、烟的图片:[ 'fire1', 'fire2', 'fire3', 'smoke' ]
emitter.makeParticles( [ 'fire1', 'fire2', 'fire3', 'smoke' ] );
emitter.gravity = 200;
emitter.setAlpha(1, 0, 3000);
emitter.setScale(0.8, 0, 0.8, 0, 3000);
emitter.start(false, 3000, 5);
飘
emitter = game.add.emitter(game.world.centerX, 0, 100);
emitter.makeParticles('leaf');
emitter.minParticleSpeed.setTo(-300, 30);
emitter.maxParticleSpeed.setTo(300, 100);
emitter.minParticleScale = 0.1;
emitter.maxParticleScale = 0.5;
emitter.gravity = 250;
//Phaser.Particles.Arcade.Emitter.flow(lifespan, frequency, quantity, total, immediate) : Phaser.Particles.Arcade.Emitter;
emitter.flow(2000, 500, 5, -1);
下雨
var emitter = game.add.emitter(game.world.centerX, 0, 400);
emitter.width = game.world.width;
//发射角度
// emitter.angle = 30;
emitter.makeParticles('rain');
emitter.minParticleScale = 0.1;
emitter.maxParticleScale = 0.5;
emitter.setYSpeed(300, 500);
emitter.setXSpeed(-5, 5);
emitter.minRotation = 0;
emitter.maxRotation = 0;
emitter.start(false, 1600, 5, 0);
下雪
//背景发射器
back_emitter = game.add.emitter(game.world.centerX, -32, 600);
back_emitter.makeParticles('snowflakes', [0, 1, 2, 3, 4, 5]);
back_emitter.maxParticleScale = 0.6;
back_emitter.minParticleScale = 0.2;
back_emitter.setYSpeed(20, 100);
back_emitter.gravity = 0;
back_emitter.width = game.world.width * 1.5;
back_emitter.minRotation = 0;
back_emitter.maxRotation = 40;
//中景发射器
mid_emitter = game.add.emitter(game.world.centerX, -32, 250);
mid_emitter.makeParticles('snowflakes', [0, 1, 2, 3, 4, 5]);
mid_emitter.maxParticleScale = 1.2;
mid_emitter.minParticleScale = 0.8;
mid_emitter.setYSpeed(50, 150);
mid_emitter.gravity = 0;
mid_emitter.width = game.world.width * 1.5;
mid_emitter.minRotation = 0;
mid_emitter.maxRotation = 40;
//前景发射器
front_emitter = game.add.emitter(game.world.centerX, -32, 50);
front_emitter.makeParticles('snowflakes_large', [0, 1, 2, 3, 4, 5]);
front_emitter.maxParticleScale = 1;
front_emitter.minParticleScale = 0.5;
front_emitter.setYSpeed(100, 200);
front_emitter.gravity = 0;
front_emitter.width = game.world.width * 1.5;
front_emitter.minRotation = 0;
front_emitter.maxRotation = 40;
//改变风向
//changeWindDirection();
//启动
back_emitter.start(false, 14000, 20);
mid_emitter.start(false, 12000, 40);
front_emitter.start(false, 6000, 1000);