Suponha que eu tenha três camadas: um primeiro plano, um meio intermediário e um segundo plano. O que está envolvido no uso dessas três camadas para criar rolagem de paralaxe ?
2d
parallax-scrolling
Bryan Denny
fonte
fonte
Basicamente, você deseja que os objetos se movam mais rapidamente, quanto mais próximos eles estiverem da 'câmera'. Como você implementa isso é com você.
Atribuo uma profundidade a cada uma das minhas camadas e, em seguida, ao rolar a cena, divido esse rolo pela profundidade da camada, para que as camadas mais distantes se movam mais devagar.
fonte
Uma camada que está "mais para trás" precisaria rolar a uma fração da velocidade da camada de primeiro plano. Metade da velocidade implica o dobro da distância. Outros efeitos, como tingir para simular nevoeiro, etc, também podem aumentar a ilusão.
fonte
A melhor maneira de fazer isso é simplesmente renderizar sprites como quads de outdoor em 3D. A "jogabilidade" pode acontecer em um único plano, enquanto o plano de fundo e o primeiro plano podem ser posicionados mais perto ou mais longe no espaço 3D. Dessa forma, o efeito de paralaxe é tratado para você sem que você precise fazer nenhuma codificação especial :-)
fonte
Faça a rolagem da camada inferior subtraindo de sua posição, desenhe a camada intermediária normalmente e faça a rolagem da camada superior na velocidade da camada inferior dividida por dois.
fonte