Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Fundo Gerado Aleatoriamente. | Melhore o Jogo Flappy Bird
Jogo de Luta no Unity

bookFundo Gerado Aleatoriamente.

Câmera Segue o Jogador:

A classe CameraFollow faz com que a câmera siga o jogador ao longo do eixo x, mantendo as posições iniciais y e z da câmera.

Métodos:

Método Start:

private void Start()
{
    initialPosition = transform.position;
}

Finalidade: Inicializa a variável initialPosition com a posição inicial da câmera quando o jogo começa.

Método LateUpdate:

private void LateUpdate()
{
    initialPosition.x = player.transform.position.x;
    transform.position = initialPosition;
}

Finalidade: Atualiza a posição da câmera para acompanhar 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 o novo initialPosition, garantindo que ela siga o jogador ao longo do eixo x, mantendo as posições originais de 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 reposiciona quando o jogador sai dos seus limites, proporcionando a ilusão de um fundo infinito.

Métodos:

Método Start:

private void Start()
{
    width = GetComponent<BoxCollider2D>().bounds.size.x;
}

Finalidade: 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 collider, que é então armazenada na variável width para uso posterior.

Método OnTriggerExit2D:

private void OnTriggerExit2D(Collider2D collision)
{
    if(collision.tag == "Player")
    {
        var position = transform.position;
        position.x += width * 2f;
        transform.position = position;
    }
}

Finalidade: Reposiciona o elemento de fundo quando o jogador sai de seus limites, criando a ilusão de um fundo rolante infinito.

Como Funciona: Quando o jogador sai do collider trigger do elemento de fundo (OnTriggerExit2D(Collider2D collision)), verifica se o collider pertence ao jogador (if(collision.tag == "Player")). Ajusta a posição do elemento de fundo para rolar de forma contínua, deslocando-o para a direita pelo dobro de sua largura (position.x += width * 2f;). Esse ajuste garante que o elemento de fundo reapareça suavemente após seu elemento pareado sair de cena.

Após calcular a nova posição, o script atualiza a posição do elemento de fundo (transform.position = position;). Esse 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 inicia;
  • Reposicionamento: Quando o jogador sai dos limites do elemento de fundo, a posição do elemento é deslocada para a direita pelo dobro de sua largura, criando um efeito de looping contínuo.

Essa configuração cria a ilusão de um fundo parallax infinito ao reposicionar repetidamente os elementos de fundo conforme o jogador se move, garantindo uma experiência visual suave e contínua.

question mark

O que acontece com a posição do objeto quando o jogador sai do seu trigger collider?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

bookFundo Gerado Aleatoriamente.

Câmera Segue o Jogador:

A classe CameraFollow faz com que a câmera siga o jogador ao longo do eixo x, mantendo as posições iniciais y e z da câmera.

Métodos:

Método Start:

private void Start()
{
    initialPosition = transform.position;
}

Finalidade: Inicializa a variável initialPosition com a posição inicial da câmera quando o jogo começa.

Método LateUpdate:

private void LateUpdate()
{
    initialPosition.x = player.transform.position.x;
    transform.position = initialPosition;
}

Finalidade: Atualiza a posição da câmera para acompanhar 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 o novo initialPosition, garantindo que ela siga o jogador ao longo do eixo x, mantendo as posições originais de 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 reposiciona quando o jogador sai dos seus limites, proporcionando a ilusão de um fundo infinito.

Métodos:

Método Start:

private void Start()
{
    width = GetComponent<BoxCollider2D>().bounds.size.x;
}

Finalidade: 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 collider, que é então armazenada na variável width para uso posterior.

Método OnTriggerExit2D:

private void OnTriggerExit2D(Collider2D collision)
{
    if(collision.tag == "Player")
    {
        var position = transform.position;
        position.x += width * 2f;
        transform.position = position;
    }
}

Finalidade: Reposiciona o elemento de fundo quando o jogador sai de seus limites, criando a ilusão de um fundo rolante infinito.

Como Funciona: Quando o jogador sai do collider trigger do elemento de fundo (OnTriggerExit2D(Collider2D collision)), verifica se o collider pertence ao jogador (if(collision.tag == "Player")). Ajusta a posição do elemento de fundo para rolar de forma contínua, deslocando-o para a direita pelo dobro de sua largura (position.x += width * 2f;). Esse ajuste garante que o elemento de fundo reapareça suavemente após seu elemento pareado sair de cena.

Após calcular a nova posição, o script atualiza a posição do elemento de fundo (transform.position = position;). Esse 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 inicia;
  • Reposicionamento: Quando o jogador sai dos limites do elemento de fundo, a posição do elemento é deslocada para a direita pelo dobro de sua largura, criando um efeito de looping contínuo.

Essa configuração cria a ilusão de um fundo parallax infinito ao reposicionar repetidamente os elementos de fundo conforme o jogador se move, garantindo uma experiência visual suave e contínua.

question mark

O que acontece com a posição do objeto quando o jogador sai do seu trigger collider?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 2
some-alt