Menu
CoddyTech

Pontos de Controle

Parte da seção Criando jogos de verdade do Journey de Unity da Coddy. Lição 50 de 56.

challenge icon

Desafio

Médio

Uma queda no vazio deve custar um pouco, não a partida inteira. Mantenha tudo das lições anteriores. Dois postes vermelhos ficam no percurso, Checkpoint1 e Checkpoint2, cada um com um gatilho e o script Checkpoint.

Em Player:

  • Um campo fallY definido pelo Inspector (-5) e um ponto de reaparecimento que começa onde o jogador começa.
  • Um método público SetCheckpoint(Vector3 point) que define point como o ponto de reaparecimento.
  • Quando o jogador cair abaixo de fallY, coloque-o de volta no ponto de reaparecimento e limpe sua velocity. Definir transform.position não é suficiente por si só: o próximo Move do controlador começa de onde a física o viu pela última vez e desfaz o movimento. Desative o controlador (controller.enabled = false) enquanto move o jogador e ative-o novamente depois.

Em Checkpoint:

  • Na primeira vez que o jogador (um objeto com o script Player) entrar no gatilho, defina a posição do ponto de controle como o ponto de reaparecimento do jogador, deixe o poste verde (Color.green) e registre Checkpoint reached.
  • Entrar nele novamente não faz nada, para que um ponto de controle antigo nunca mova o ponto de reaparecimento de volta.

Pressione Jogar, alcance um ponto de controle e pule no vazio; em seguida, clique em Verificar.

Experimente você mesmo

using UnityEngine;

public class Checkpoint : MonoBehaviour
{
    // Uma aula posterior completará isso: uma bandeira que muda o lugar onde você reaparece após uma queda.
}

Todas as lições de Criando jogos de verdade