Para um jogo parecido com o Peggle , quero fazer blocos que seguem uma curva, assim:
Os blocos desapareceriam quando a bola os atingisse.
Consegui desenhar alguns horizontalmente, mas estou tendo problemas para fazê-los seguir um caminho:
Como eu faço isso? Preciso criar objetos Box2D com vértices personalizados?
collision-detection
box2d
geometry
curves
Moerin
fonte
fonte
Respostas:
Dada uma curva "raiz", eis como você pode gerar vértices de bloco.
A curva da raiz está no meio, em preto. Seus pontos de controle são mostrados com
X
s vermelhos .Resumindo : fiz um Bézier e experimentei (a uma taxa configurável). Encontrei o vetor perpendicular de cada amostra para a seguinte, normalizei e dimensionei -o para uma meia largura (configurável), primeiro à esquerda e inversamente à direita. Então desenhou.
Coisas que você pode adicionar a isso:
Aqui está o meu código. Está escrito em Lua (para o framework de jogos LÖVE ), mas acho que é legível para qualquer pessoa.
Se você quiser brincar com ele: obtenha o LÖVE e coloque o código acima
main.lua
em seu próprio diretório. Coloquevector.lua
daHUMP
biblioteca no mesmo diretório. Execute-o comolove <that-directory>
em uma linha de comando.Mova o mouse! O ponto de controle do meio está definido para o local do mouse:
fonte