Menu
CoddyTech

Atravessando a Rua

Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 66 de 67.

Um personagem espera na beira de uma estrada movimentada. Os carros vêm da esquerda em três faixas e atravessam a estrada. O jogador avança ou recua uma faixa por vez com as setas para cima e para baixo e precisa cronometrar cada salto para chegar ao outro lado. Um carro que tocar no personagem o envia de volta para onde começou.

Escreva o jogo inteiro em um único script, Crossing, no personagem.

challenge icon

Desafio

Difícil

Escreva o script Crossing no Hopper, que começa em z = -4, abaixo de uma estrada com três faixas. No Inspector, defina carPrefab (o prefab Car), lanes (as posições z das faixas: -2, 0 e 2), spawnEvery (1) e carSpeed (5).

  • Cada toque na seta para cima faz o Hopper saltar 2 unidades para a frente (+z). Cada toque na seta para baixo faz com que ele salte 2 unidades para trás, mas nunca para trás do ponto onde começou.
  • A cada spawnEvery segundos, um Car aparece em x = -9, y = 0.5, em uma faixa aleatória de lanes. Os carros avançam ao longo de +x a carSpeed unidades por segundo, e um carro cujo x seja maior que 9 é destruído.
  • Um carro atinge o Hopper quando suas posições x estão a menos de 1.5 de distância e suas posições z estão a menos de 1 de distância. Um impacto registra Hit! e coloca o Hopper de volta onde começou.
  • Quando o Hopper chega a z = 4, o lado oposto, registre You made it! e desative o script.

Pressione Play e atravesse a estrada, depois Check.

Experimente você mesmo

using System.Collections.Generic;
using UnityEngine;

public class Crossing : MonoBehaviour
{
    [SerializeField] private GameObject carPrefab;
    [SerializeField] private float[] lanes;
    [SerializeField] private float spawnEvery = 1f;
    [SerializeField] private float carSpeed = 5f;

    void Start()
    {
    }

    void Update()
    {
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Noções básicas de scripting no Unity