Contenido del Curso
Juego de Lucha en Unity
Juego de Lucha en Unity
Fondo Generado Aleatoriamente.
Cámara sigue al jugador:
La clase CameraFollow
hace que la cámara siga al jugador a lo largo del eje x, mientras mantiene las posiciones iniciales y y z de la cámara.
Métodos:
Método Start:
csharp
Propósito: Inicializa la variable initialPosition
con la posición inicial de la cámara cuando comienza el juego.
Método LateUpdate:
csharp
Propósito: Actualiza la posición de la cámara para seguir el movimiento del jugador en el eje x.
Funcionamiento: initialPosition.x = player.transform.position.x;
actualiza la coordenada x de initialPosition
para igualarla a la coordenada x del jugador, y transform.position = initialPosition;
establece la posición de la cámara en el nuevo initialPosition
, asegurando que siga al jugador a lo largo del eje x mientras mantiene las posiciones originales en y y z.
Explicación de ParallaxBackground:
La clase ParallaxBackground
hace que un elemento de fondo, como las nubes, se repita infinitamente para crear un efecto de paralaje en un juego 2D. El fondo se reposiciona cuando el jugador sale de sus límites, dando la ilusión de un fondo interminable.
Métodos:
Método Start:
csharp
Propósito: Inicializa la variable width
con el ancho del elemento de fondo.
Funcionamiento:
GetComponent<BoxCollider2D>()
obtiene el componente BoxCollider2D
adjunto al elemento de fondo, y .bounds.size.x
obtiene el ancho de la caja delimitadora del collider, que luego se almacena en la variable width
para su uso posterior.
Método OnTriggerExit2D:
csharp
Propósito: Reposiciona el elemento de fondo cuando el jugador sale de sus límites, creando la ilusión de un fondo desplazable infinito.
Funcionamiento:
Cuando el jugador sale del collider trigger del elemento de fondo (OnTriggerExit2D(Collider2D collision)
), se verifica si el collider pertenece al jugador (if(collision.tag == "Player")
). Se ajusta la posición del elemento de fondo para que se desplace de manera continua, desplazándolo hacia la derecha el doble de su ancho (position.x += width * 2f;
).
Este ajuste garantiza que el elemento de fondo reaparezca suavemente después de que su elemento emparejado salga de la vista.
Tras calcular la nueva posición, el script actualiza la posición del elemento de fondo (transform.position = position;
). Este mecanismo permite que el fondo mantenga un efecto de desplazamiento continuo sincronizado con los movimientos del jugador dentro del entorno del juego.
Resumen:
Inicialización: El ancho del elemento de fondo se calcula y almacena al iniciar el juego;
Reposicionamiento: Cuando el jugador sale de los límites del elemento de fondo, la posición del elemento se desplaza hacia la derecha el doble de su ancho, creando un efecto de bucle continuo.
Esta configuración genera la ilusión de un fondo de paralaje infinito al reposicionar repetidamente los elementos de fondo a medida que el jugador avanza, asegurando una experiencia visual fluida y continua.
¡Gracias por tus comentarios!