Como criar um nível com linhas curvas com Cocos2D + Box2D no iPhone?
-
26-09-2019 - |
Pergunta
Eu gostaria de criar um jogo que tenha níveis como este: http://img169.imageshack.us/img169/7294/picdq.png
O jogador se move "moscas" pelo nível e não deve colidir com as paredes. Como posso criar esses níveis?
Eu encontrei aquele software: http://www.sapusmedia.com/levelsvg/
Não é tão barato, então eu me pergunto se há outra maneira de criar um nível como mostrado na figura acima ...?
Solução
Você pode fazer isso bem fácil lendo o valor de cor dos pixels em locais específicos do nível. Tomemos, por exemplo, que seu fundo de nível é branco e as paredes são pretas. Para realizar a detecção de colisão, se seu personagem havia atingido a parede, você faria o seguinte: -Tocasse a posição do seu personagem -visite os valores de cores dos pixels do seu mapa que se sobrepõem à caixa delimitadora ou da esfera do personagem nessa posição - Se algum deles contém cor preta, você tem uma colisão :)
Agora, se o seu nível for todo colorido, você desejará construir uma textura de máscara em preto e branco que refletisse as superfícies da parede do seu mapa real. Em seguida, use o mapa colorido para desenho e o mapa BW para detecção de colisão.
Outras dicas
Passaria algumas semanas sólidas sendo penas no Objective-C, Xcode, Interface Builder e Documentação do Apple iOS. Existem muitos bons tutoriais por aí e projetar projetos Xcode para baixar e executar no simulador iPhone/iPad.
Se apenas começar, algumas dessas bibliotecas de inicialização rápidas podem roubar o conhecimento íntimo de que você precisará para criar os meandros e nuances que você precisará quando seu aplicativo começar a chegar fora dos limites da caixa de areia. Nada mal de usar como ferramentas de aprendizado ou para acelerar o tempo de desenvolvimento, mas eu recomendo contra usá -las como muleta até fortalecer as pernas do desenvolvedor. Engatinhar. Andar. Corre!