Javascript 如何在Matter.js中模糊单个对象?

Javascript 如何在Matter.js中模糊单个对象?,javascript,canvas,matter.js,Javascript,Canvas,Matter.js,我试图在Matter.js中为游戏创建一个火焰效果,我需要模糊一个圆圈,使其看起来更真实。然而,我需要使它只模糊火焰,而不是整个画布。我该怎么做 这是我目前掌握的代码: function setOnFire(object) { var fireX = object.position.x; var fireY = object.position.y; var fire = Bodies.circle(fireX, fireY, vw*1, { isStati

我试图在Matter.js中为游戏创建一个火焰效果,我需要模糊一个圆圈,使其看起来更真实。然而,我需要使它只模糊火焰,而不是整个画布。我该怎么做

这是我目前掌握的代码:

function setOnFire(object) {
    var fireX = object.position.x;
    var fireY = object.position.y;
    var fire = Bodies.circle(fireX, fireY, vw*1, {
        isStatic: true,
        render: {
            fillStyle: "rgba(255,130,0,1)"
        }
    });
    World.add(world, fire);
}

这不完全是我的想法,但它是尽可能接近你可以得到

首先转到matter.js,然后转到本节:

 for (k = body.parts.length > 1 ? 1 : 0; k < body.parts.length; k++) {
     part = body.parts[k];

     if (!part.render.visible)
         continue;
然后,转到循环的最末端并添加以下内容:

if (body.bloom) {
    c.shadowColor = "transparent";
    c.shadowOffsetX = 0;
    c.shadowOffsetY = 0;
    c.shadowBlur = 0;
}
然后,在做你的身体的同时加入花朵。例如:

let fireParticle = Bodies.circle(0, 0, {
    bloom: 25
});
let fireParticle = Bodies.circle(0, 0, {
    bloom: 25
});