3.8 - Scroll Horizontal
https://www.youtube.com/watch?v=bOQsWM-3VmE&list=PL5tA44GpyFntFHtHd6Zxb2xQZpxwOfeu3&index=25
Scroll horizontal en Scratch
馃幆 Objetivo de este tutorial
Vamos a implementar un scroll horizontal simple para juegos de plataformas o aventuras. El personaje podr谩 moverse a izquierda y derecha, y el fondo se desplazar谩 en sentido contrario, creando la ilusi贸n de un mundo m谩s grande que la pantalla. Aprender谩s a:
Animar al personaje cambiando de disfraz.
Usar una variable global
scrollpara controlar la posici贸n del fondo.Mover varios objetos de fondo de forma sincronizada con el scroll.
Crear un bucle infinito de im谩genes para simular un escenario continuo.
馃惐 Paso 1: Preparar al personaje (animaci贸n)
El personaje (gato) tendr谩 al menos dos disfraces para simular que camina.
Ve a la pesta帽a de Disfraces del gato y aseg煤rate de que haya dos im谩genes (por ejemplo,
gato-aygato-b).Programa el cambio de disfraz en un bucle para dar sensaci贸n de movimiento.
C贸digo del gato (animaci贸n):
al presionar bandera
por siempre
siguiente disfraz
esperar [0.2] segundosAjusta el tiempo de espera para que la animaci贸n sea m谩s r谩pida o m谩s lenta.
馃搳 Paso 2: Crear la variable global scroll
Necesitamos una variable que indique en qu茅 punto del "mundo" se encuentra el personaje. Esta variable ser谩 compartida por todos los objetos del fondo.
Ve a la categor铆a Variables.
Crea una variable global (para todos los objetos) llamada
scroll.Al empezar el programa, ponla a 0.
C贸digo (en el escenario o en el gato):
al presionar bandera fijar [scroll] a [0]
馃幃 Paso 3: Controlar el scroll con las teclas
Al presionar las flechas, en lugar de mover al gato, vamos a cambiar el valor de scroll.
Flecha derecha →
scrollaumenta (el fondo se mueve a la izquierda).Flecha izquierda →
scrolldisminuye (el fondo se mueve a la derecha).
C贸digo del gato (control):
al presionar tecla [flecha derecha] cambiar [scroll] por (1) al presionar tecla [flecha izquierda] cambiar [scroll] por (-1)
Nota: Si el scroll se mueve muy r谩pido, puedes reducir la cantidad (por ejemplo,
0.5en lugar de1).
馃柤️ Paso 4: Crear los objetos de fondo
Para simular un escenario m谩s grande que la pantalla, usaremos varios objetos (sprites) que se colocar谩n uno al lado del otro. Cada objeto tendr谩 el ancho de la pantalla (480 p铆xeles).
Crea un objeto (puede ser un rect谩ngulo) y dib煤jalo de un color (ej: verde).
Aseg煤rate de que tenga 480 p铆xeles de ancho (puedes ajustarlo en el editor de disfraces).
Duplica este objeto dos veces m谩s y c谩mbiales el color (ej: amarillo, lila, azul, etc.) para que se distingan.
Coloca cada objeto en una posici贸n inicial:
Objeto 1:
x = 0Objeto 2:
x = 480Objeto 3:
x = 960(As铆 sucesivamente)
馃敘 Paso 5: Programar el desplazamiento de los fondos
Cada objeto de fondo debe moverse en funci贸n del valor de scroll. Usaremos una f贸rmula que calcula su posici贸n como:
x = scroll + (n煤mero_de_fondo * 480)
Donde:
n煤mero_de_fondoempieza en 0 para el primero, 1 para el segundo, 2 para el tercero, etc.480es el ancho de cada imagen.
C贸digo para el Objeto 1 (primer fondo):
al presionar bandera
por siempre
ir a x: (scroll + (0 * 480)) y: (0)C贸digo para el Objeto 2 (segundo fondo):
al presionar bandera
por siempre
ir a x: (scroll + (1 * 480)) y: (0)C贸digo para el Objeto 3 (tercer fondo):
al presionar bandera
por siempre
ir a x: (scroll + (2 * 480)) y: (0)Observaci贸n: La posici贸n
ypuede ser0(centro vertical) o la que prefieras.
馃攧 Paso 6: Scroll infinito (opcional)
Para que el fondo nunca se acabe, puedes a帽adir m谩s objetos (4, 5, 6...) y, cuando uno se salga completamente de la pantalla por un lado, lo recolocas al otro lado. Sin embargo, en su forma m谩s simple, con 3 o 4 objetos ya se cubre una buena distancia.
Si notas que aparece un hueco entre los fondos, puedes ajustar el offset (por ejemplo, usar 479 en lugar de 480) para que se solapen ligeramente.
▶️ Paso 7: Probar el sistema
Presiona la bandera verde.
Usa las flechas izquierda y derecha.
Ver谩s que el gato cambia de disfraz (camina) y los fondos se desplazan en sentido contrario, dando la sensaci贸n de movimiento.
Si ves una peque帽a l铆nea o hueco al desplazarte, puedes a帽adir un objeto m谩s o ajustar la posici贸n inicial.
馃З Paso 8: Mejoras y personalizaci贸n
| Mejora | C贸mo hacerla |
|---|---|
| Movimiento m谩s suave | Cambia scroll en incrementos m谩s peque帽os (ej: 0.5) y usa deslizar en los fondos. |
| Fondo con im谩genes reales | En lugar de colores s贸lidos, usa im谩genes de paisajes partidas en trozos de 480 p铆xeles. |
| Scroll con parallax | Haz que los fondos m谩s lejanos se muevan m谩s lento que los cercanos (creando profundidad). |
| L铆mites del mundo | Puedes hacer que el personaje no pueda pasar de ciertos puntos, deteniendo el scroll. |
| Obst谩culos en el fondo | A帽ade otros objetos (谩rboles, casas) que tambi茅n se muevan con el scroll. |
馃摎 Resumen del tutorial 3.7
| Concepto | Implementaci贸n |
|---|---|
| Animaci贸n del personaje | Cambiar de disfraz con siguiente disfraz en un bucle. |
| Variable scroll | Guarda la posici贸n del personaje en el mundo. Se modifica con las flechas. |
| Fondos m贸viles | Cada objeto de fondo se posiciona en scroll + (n * 480). |
| Coordinaci贸n | Todos los fondos se mueven sincronizados con la misma variable. |
| Scroll infinito | Se logra encadenando varios objetos de fondo de 480 p铆xeles. |
馃幀 ¡Ya tienes un sistema de scroll funcional!
Este sistema es la base para juegos de plataformas, carreras o aventuras de desplazamiento lateral. Al combinar la animaci贸n del personaje con el movimiento del fondo, lograr谩s una experiencia de juego m谩s inmersiva. ¡Ahora puedes a帽adir enemigos, obst谩culos y niveles para crear tu propio mundo infinito
Comentarios
Publicar un comentario