Fondo con parallax
Quieres montañas al fondo que se muevan más lento que el suelo cuando la cámara se mueve. Ese efecto se llama parallax.
En el editor
Sección titulada «En el editor»- Importa la imagen de las montañas como sprite.
- En el panel Camadas, crea una capa de Fundo (fondo) llamada
Montanhasy arrástrala debajo de las demás (solo el cielo queda detrás de ella). - En el Inspector de la capa, elige el Sprite y marca Repetir
H, para que la imagen se repita en horizontal.
En el código
Sección titulada «En el código»En un objeto que existe en el nivel (un controlador sin sprite sirve):
void Fase::onUpdate() { setLayerPosition("Montanhas", scene().camera.x * 0.5f, 40.0f);}Cómo funciona
Sección titulada «Cómo funciona»scene().camera.xes la posición de la cámara: el borde izquierdo de lo que aparece en pantalla.setLayerPosition("Montanhas", x, y)pone la esquina de la imagen de la capa en(x, y)de la room.- Multiplicar por
0.5fhace que la capa se mueva la mitad de lo que se mueve la cámara. En pantalla, parece pasar más lento que el suelo, como algo lejano.
El número es cuánto se “pega” la capa a la pantalla: 0 deja la imagen fija al nivel (sin parallax), y 1 la deja fija a la pantalla (no se mueve). Cuanto más cerca de 1, más lejos parece.
Variaciones
Sección titulada «Variaciones»Varias capas. Usa un número para cada una: las más lejanas, más cerca de 1.
Nubes que se mueven solas. No hace falta código: en el Inspector de la capa de Fundo, pon una Velocidade (velocidad) en X, como -0.2.
