Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

295
Vistas
(matterJS) Necesita actualizar los vértices en Bodies.fromVertices sin mover la posición del polígono

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

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda