Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

299
Views
(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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!