Conteúdo do Curso
Jogo de Luta no Unity
Jogo de Luta no Unity
Fundo Gerado Aleatoriamente.
Câmera Segue o Jogador:
A classe CameraFollow
faz a câmera seguir o jogador ao longo do eixo x, mantendo as posições iniciais y e z da câmera.
Métodos:
Método Start:
Propósito: Inicializa a variável initialPosition
com a posição inicial da câmera quando o jogo começa.
Método LateUpdate:
Propósito: Atualiza a posição da câmera para seguir o movimento do jogador no eixo x.
Como Funciona: initialPosition.x = player.transform.position.x;
atualiza a coordenada x de initialPosition
para corresponder à coordenada x do jogador, e transform.position = initialPosition;
define a posição da câmera para a initialPosition
atualizada, garantindo que ela siga o jogador ao longo do eixo x enquanto mantém as posições originais y e z.
Explicação do ParallaxBackground:
A classe ParallaxBackground
faz com que um elemento de fundo, como nuvens, se repita infinitamente para criar um efeito de paralaxe em um jogo 2D. O fundo se reposicionará quando o jogador sair de seus limites, dando a ilusão de um fundo infinito.
Métodos:
Método Start:
Propósito: Inicializa a variável width
com a largura do elemento de fundo.
Como Funciona:
GetComponent<BoxCollider2D>()
recupera o componente BoxCollider2D
anexado ao elemento de fundo, e .bounds.size.x
obtém a largura da caixa delimitadora do colisor, que é então armazenada na variável width
para uso posterior.
Método OnTriggerExit2D:
Propósito: Reposiciona o elemento de fundo quando o jogador sai de seus limites, criando a ilusão de um fundo de rolagem infinito.
Como Funciona:
Quando o jogador sai do colisor de gatilho do elemento de fundo (OnTriggerExit2D(Collider2D collision)
), verifica se o colisor pertence ao jogador (if(collision.tag == "Player")
). Ajusta a posição do elemento de fundo para rolar suavemente deslocando-o para a direita por duas vezes sua largura (position.x += width * 2f;
).
Este ajuste garante que o elemento de fundo reapareça suavemente após seu elemento emparelhado rolar para fora de vista.
Após calcular a nova posição, o script atualiza a posição do elemento de fundo (transform.position = position;
). Este mecanismo permite que o fundo mantenha um efeito de rolagem contínua em sincronia com os movimentos do jogador dentro do ambiente do jogo.
Resumo:
- Inicialização: A largura do elemento de fundo é calculada e armazenada quando o jogo começa;
- Reposicionamento: Quando o jogador sai dos limites do elemento de fundo, a posição do elemento é deslocada para a direita por duas vezes sua largura, criando um efeito de loop contínuo.
Esta configuração dá a ilusão de um fundo parallax infinito, reposicionando repetidamente os elementos de fundo à medida que o jogador se move, garantindo uma experiência visual suave e contínua.
Obrigado pelo seu feedback!