Para un juego tipo Peggle , quiero hacer bloques que sigan una curva, así:

Los bloques desaparecerían cuando la pelota los golpeara.
Logré dibujar algunos horizontalmente, pero tengo problemas para que sigan un camino:

¿Cómo hago esto? ¿Necesito crear objetos Box2D con vértices personalizados?
collision-detection
box2d
geometry
curves
Moerin
fuente
fuente

Respuestas:
Dada una curva "raíz", así es como puede generar vértices de bloque.
La curva raíz está en el medio, en negro. Sus puntos de control se muestran con
Xs rojo .En resumen : hice un Bézier y lo probé (a una velocidad configurable). Luego encontré el vector perpendicular del vector de cada muestra a la siguiente, lo normalicé y lo escalé a un ancho medio (configurable), primero a la izquierda, luego inversamente a la derecha. Luego lo dibujó.
Cosas que podrías agregar a esto:
Aquí está mi código. Está escrito en Lua (para el marco del juego LÖVE ), pero creo que es legible para cualquiera.
Si desea jugar con él: Obtenga LÖVE y coloque el código anterior
main.luaen su propio directorio. Ponervector.luade laHUMPbiblioteca en el mismo directorio. Ejecútelo comolove <that-directory>desde una línea de comando.Mueve el mouse! El punto de control central está configurado en la ubicación del mouse:
fuente