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 scroll para 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.

  1. Ve a la pesta帽a de Disfraces del gato y aseg煤rate de que haya dos im谩genes (por ejemplo, gato-a y gato-b).

  2. Programa el cambio de disfraz en un bucle para dar sensaci贸n de movimiento.

C贸digo del gato (animaci贸n):

text
al presionar bandera
por siempre
    siguiente disfraz
    esperar [0.2] segundos

Ajusta 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.

  1. Ve a la categor铆a Variables.

  2. Crea una variable global (para todos los objetos) llamada scroll.

  3. Al empezar el programa, ponla a 0.

C贸digo (en el escenario o en el gato):

text
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 derechascroll aumenta (el fondo se mueve a la izquierda).

  • Flecha izquierdascroll disminuye (el fondo se mueve a la derecha).

C贸digo del gato (control):

text
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.5 en lugar de 1).


馃柤️ 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).

  1. 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).

  2. Duplica este objeto dos veces m谩s y c谩mbiales el color (ej: amarillo, lila, azul, etc.) para que se distingan.

  3. Coloca cada objeto en una posici贸n inicial:

    • Objeto 1: x = 0

    • Objeto 2: x = 480

    • Objeto 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_fondo empieza en 0 para el primero, 1 para el segundo, 2 para el tercero, etc.

  • 480 es el ancho de cada imagen.

C贸digo para el Objeto 1 (primer fondo):

text
al presionar bandera
por siempre
    ir a x: (scroll + (0 * 480)) y: (0)

C贸digo para el Objeto 2 (segundo fondo):

text
al presionar bandera
por siempre
    ir a x: (scroll + (1 * 480)) y: (0)

C贸digo para el Objeto 3 (tercer fondo):

text
al presionar bandera
por siempre
    ir a x: (scroll + (2 * 480)) y: (0)

Observaci贸n: La posici贸n y puede ser 0 (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

  1. Presiona la bandera verde.

  2. Usa las flechas izquierda y derecha.

  3. 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

MejoraC贸mo hacerla
Movimiento m谩s suaveCambia scroll en incrementos m谩s peque帽os (ej: 0.5) y usa deslizar en los fondos.
Fondo con im谩genes realesEn lugar de colores s贸lidos, usa im谩genes de paisajes partidas en trozos de 480 p铆xeles.
Scroll con parallaxHaz que los fondos m谩s lejanos se muevan m谩s lento que los cercanos (creando profundidad).
L铆mites del mundoPuedes hacer que el personaje no pueda pasar de ciertos puntos, deteniendo el scroll.
Obst谩culos en el fondoA帽ade otros objetos (谩rboles, casas) que tambi茅n se muevan con el scroll.

馃摎 Resumen del tutorial 3.7

ConceptoImplementaci贸n
Animaci贸n del personajeCambiar de disfraz con siguiente disfraz en un bucle.
Variable scrollGuarda la posici贸n del personaje en el mundo. Se modifica con las flechas.
Fondos m贸vilesCada objeto de fondo se posiciona en scroll + (n * 480).
Coordinaci贸nTodos los fondos se mueven sincronizados con la misma variable.
Scroll infinitoSe 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

Entradas m谩s populares de este blog

1.4 - Interfaz de usuario-Xnergic TCM

1.7 - Bloques de uso m谩s com煤n-Xnergic TCM

1.5 - Personajes-Xnergic