Preciso adicionar um fundo de rolagem ao meu jogo, a imagem é 512x512px. É para um jogo de carros com tráfego de mão dupla e eu quero poder atravessar para o lado oposto e dirigir contra o tráfego também. O jogo está no modo retrato e eu uso o cocos2d.
Como posso fazer isso da melhor maneira possível?
assets
art
cocos2d-iphone
level-design
David Holmes
fonte
fonte
Respostas:
Basicamente, eu criava um mapa de blocos 2x2, onde os blocos eram 512x512 e todos iguais. Role-o como faria normalmente, mas assim que X exceder 512 subtraia 512 (ou faça um módulo 512 - mas tenha cuidado com números negativos), o mesmo para Y. Então, em vez de um poli, você desenha 4, embora apenas 1 seja visível na maioria das vezes, mas em casos de fronteira todos os 4 são visíveis (quando você desce 400 e 400 à direita, por exemplo). Dessa forma, ele deve rolar para sempre.
Claro que você também pode usar 4 sprites em vez de um mapa de blocos. Um no worldPos, um no worldPos + (512,0), um no worldPos + (0,512) e um no worldPos + (512,512).
Verifique se o worldPos está sempre no módulo 512 e, novamente, deve rolar para sempre.
Editado para adicionar código: Não
testado, sem sintaxe marcada.
Muito codificado para resolver este problema. Seria melhor com uma matriz real para um mapa, mas para esse problema específico, isso deve funcionar.
Assume 0,0 como o canto superior esquerdo da tela.
fonte
Se eu entendi direito, você pode criar um conjunto de imagens. Cada imagem tem um ponto de entrada e um ponto de saída. Para facilitar as coisas, você pode criar todos os pontos de entrada e sair no mesmo local. Em seguida, você pode alternar aleatoriamente entre imagens diferentes para que o player não encontre um nível completamente redundante. Se você quiser misturar um pouco as coisas, poderá criar imagens com entradas e saídas diferentes. Você precisará apenas trabalhar um pouco mais para garantir que a saída de uma imagem corresponda à entrada da próxima imagem.
fonte