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.
Desafío
DifícilEscribe 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
spawnEverysegundos, aparece un Car en x = -9, y = 0.5, en un carril aleatorio delanes. Los coches avanzan por +x acarSpeedunidades 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()
{
}
}
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
1Tu primer script
Hola, UnityColoca el cuboMuévete en cada fotogramaGira cada segundoDirige con las teclasRepaso: conduce el cubo4Vectores
Sumar vectoresDireccionesEspacio local y globalVelocidad diagonalDistancia entre objetosVector3 es una estructuraRepaso: piloto de dron7Proyecto: Atrapa la estrella
El atrapadorUna estrella fugaz10El ciclo de vida de los scripts
Awake y StartUpdate y LateUpdateOnEnable y OnDisableEl orden del ciclo de vidaRepaso: registrador del ciclo de vida2El Inspector
Campos del InspectorSerializeFieldNúmeros decimales y MathfAtributos del InspectorRepaso: Ascensor5Transformaciones y jerarquía
Padres e hijosEscalaMirar objetosMoverse hacia un puntoRepaso: Luna en órbita8Encontrar cosas
Buscar por nombreEtiquetasBuscar por tipoLas referencias superan a FindEl valor nulo de UnityRepaso: la moneda más cercana11Proyecto: Esquiva los bloques
El corredorBloques que caen6GameObjects y componentes
Referencias en el InspectorObtener un componenteComponentes faltantesAñadir un componenteRequireComponentMostrar y ocultarRepaso: interruptor de luz