Supongamos que tengo tres capas: un primer plano, un terreno intermedio y un fondo. ¿Qué implica el uso de estas tres capas para crear desplazamiento de paralaje ?
Supongamos que tengo tres capas: un primer plano, un terreno intermedio y un fondo. ¿Qué implica el uso de estas tres capas para crear desplazamiento de paralaje ?
Respuestas:
Divida la posición de cada capa por la "distancia" que desea que tenga desde la cámara.
Por ejemplo: cree un par de variables para representar la posición de la cámara, cameraX
y cameraY
. Ajústelos para que sean iguales a la posición de su personaje, posiblemente agregando un poco más en la dirección del movimiento.
La capa principal solo se colocaría en
mainLayer.x = -cameraX;
la capa media en algo así
middleLayer.x = -cameraX * 0.5;
y la capa lejana en
farLayer.x = -cameraX * 0.2;
Cambie las constantes según sea necesario.
Básicamente, desea que los objetos se muevan más rápido, cuanto más cerca estén de la 'cámara'. Cómo implementar eso depende de usted.
Asigno una profundidad a cada una de mis capas, y luego a medida que me desplazo por la escena, para cada capa divido ese desplazamiento por la profundidad de la capa, de modo que las capas que están más lejos se mueven más lentamente.
La mejor manera de hacer esto es simplemente renderizar sprites como quads billboarded en 3D. La "jugabilidad" puede ocurrir en un solo plano, mientras que el fondo y el primer plano se pueden colocar más cerca o más lejos en el espacio 3D. De esa manera, el efecto de paralaje se maneja por usted sin que tenga que hacer ninguna codificación especial :-)