Estoy trabajando en un videojuego hecho con MatterJS,
Estoy usando Bodies.fromVertices para crear un polígono irregular. Estos vértices de este polígono deben ser dinámicos, por lo que deben cambiar con el tiempo. Ya tengo los valores de los nuevos vértices en cada cuadro, así que solo necesito configurarlo en el polígono. Body.setVertices no funcionó para mí, así que la única forma que encontré para hacerlo fue eliminar el polígono y crear otro con los nuevos vértices, en la misma posición, para cada cuadro.
Todo funciona sin problemas excepto por la posición del polígono.
La posición se genera alrededor del centro de masa, y me es imposible tener siempre la misma posición, el polígono se mueve caóticamente en todas partes cuando cambio los vértices. Intenté calcular el ancho/alto del polígono con los límites. min/max/.x/.y, y lo moví, pero ahora funciona, creo que debido a que el polígono puede tomar cualquier forma, nunca se sabe dónde se colocará. y cómo compensar ese movimiento.
¿Sabes si hay otra forma de establecer los nuevos vértices sin eliminar/crear el polígono anterior, o si hay alguna forma de hacer que esto funcione como está?
Este es el código donde elimino el polígono anterior y agrego el nuevo. La variable "vert" tiene nuevos vértices en cada fotograma. "xPos" e "yPos" es donde quiero el polígono, este valor nunca cambia pero el polígono se mueve de todos modos.
Composite.remove(engine.world, groundFromVertices); groundFromVertices = Bodies.fromVertices(xPos, yPos, vert, {isStatic : true, render: { fillStyle: 'red', strokeStyle: 'white', lineWidth: 5 }}, false, 0, 0, 0, 0); Composite.add(engine.world, groundFromVertices);
muchas gracias en consejo