粒子产生速度过快 - Phaser 3

3

我尝试使用粒子发射器在游戏主菜单后面制作雪花效果,但粒子生成速度太快了。

我有以下代码:

       var particles = this.add.particles('snow');

        var emitter = particles.createEmitter({
            speedY: { min: 15, max: 40 },
            gravityY: 0,
            scale: 0.2,
            quantity: 1,
            lifespan: { min: 28000, max: 30000 },
            emitZone: { source: new Phaser.Geom.Line(-20, -100, 820, -100 )}
       });

数量只有一个,所以我不知道如何修复这个问题。是否可以更改粒子的生成速度?

我正在使用Phaser 3和arcade物理引擎。

2个回答

4
我认为您所需要的是频率设置。
它并不会直接改变生成速度,但它会改变流循环之间的时间。如果您在当前发射器中添加frequency: 1000,它会在屏幕上同时显示大约8-10个粒子。您可以调整该数字,直到获得所需的效果。

0

我为我的雪花效果实现了这种方式,也许对你有帮助。它具有随机的风吹和雪花的旋转。

this.emitter = snowParticles.createEmitter({
    frame: [0, 1, 2, 3, 4, 5],
    x: {min: 0, max: this.sys.game.canvas.width},
    y: 0 ,
    lifespan: {min: 20000, max: 60000},
    speedY: 50,
    gravityX: Math.ceil((Math.random() - 0.5) * 2) < 1 ? -10 : 10,
    gravityY: 10,
    minVelocityY: 10,
    maxVelocityY: 30,
    minVelocityX: 10,
    maxVelocityX: 30,
    quantity: 1,
    scale: 0.4,
    frequency: 1000,
    blendMode: 'ADD',
    rotate: { start: 0, end: 180 }
});

这是上传的实时示例:https://vajda.co.uk/demo/react/winter-landscape/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接