Menu
CoddyTech

Cruzar la calle

Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 66 de 67.

Un saltamontes espera al borde de una carretera transitada. Los coches llegan desde la izquierda por tres carriles y la cruzan. El jugador salta hacia delante o hacia atrás un carril a la vez con las flechas arriba y abajo, y tiene que calcular el momento de cada salto para llegar al otro lado. Un coche que toque al saltamontes lo devuelve al lugar donde empezó.

Escribe todo el juego en un único script, Crossing, en el saltamontes.

challenge icon

Desafío

Difícil

Escribe el script Crossing en el Hopper, que comienza en z = -4, debajo de una carretera con tres carriles. En el Inspector, asigna carPrefab (el prefab Car), lanes (las posiciones z de los carriles: -2, 0 y 2), spawnEvery (1) y carSpeed (5).

  • Cada vez que pulses la flecha hacia arriba, el Hopper salta 2 unidades hacia delante (+z). Cada vez que pulses la flecha hacia abajo, salta 2 unidades hacia atrás, pero nunca más atrás de donde empezó.
  • Cada spawnEvery segundos, aparece un Car en x = -9, y = 0.5, en un carril aleatorio de lanes. Los coches avanzan por +x a carSpeed unidades por segundo, y se destruye cualquier coche cuya x sea superior a 9.
  • Un coche golpea al Hopper cuando sus posiciones x están a menos de 1.5 unidades de distancia y sus posiciones z, a menos de 1 unidad. Al recibir un golpe, se registra Hit! y el Hopper vuelve al lugar donde empezó.
  • Cuando el Hopper llega a z = 4, el lado opuesto, registra You made it! y desactiva el script.

Pulsa Play y cruza la carretera; después, pulsa Check.

Pruébalo tú mismo

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos de scripting en Unity