Menu
CoddyTech

Constructor de torres

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

Una grúa se desliza de un lado a otro sobre una base. Cada vez que presionas la barra espaciadora o haces clic, un bloque cae en línea recta desde la grúa. Un bloque que cae encima de la pila se queda allí, y el siguiente bloque tiene que aterrizar sobre él. Un bloque que no acierta cae. La altura de la pila es la puntuación.

Escribe todo el juego en un solo script, Crane, en la grúa.

challenge icon

Desafío

Difícil

Escribe el script Crane en Crane. En el Inspector, asigna blockPrefab (el prefab Block), top (la Base, la parte superior de la pila hasta el momento), craneSpeed (3), craneEdge (4) y fallSpeed (7).

  • La grúa se desliza a lo largo del eje x a craneSpeed unidades por segundo. Al pasar craneEdge, gira para volver hacia la izquierda, y al pasar -craneEdge, gira para volver hacia la derecha.
  • La barra espaciadora o un clic izquierdo suelta un bloque en la x de la grúa, 1 unidad por debajo de ella. Mientras un bloque está cayendo, las pulsaciones adicionales no hacen nada.
  • El bloque que cae se mueve hacia abajo a fallSpeed unidades por segundo.
  • Cuando su y llega a la y de top más 1, y su x está a menos de 1 de la x de top, aterriza: establece su y exactamente en la y de top más 1, conviértelo en el nuevo top y registra la altura de la pila como Stack: 1, Stack: 2, y así sucesivamente.
  • Un bloque que no aterriza sigue cayendo. Por debajo de y = -3, destrúyelo y registra Missed!.

Pulsa Play y construye una torre; después, pulsa Check.

Pruébalo tú mismo

using UnityEngine;

public class Crane : MonoBehaviour
{
    [SerializeField] private GameObject blockPrefab;
    [SerializeField] private Transform top;
    [SerializeField] private float craneSpeed = 3f;
    [SerializeField] private float craneEdge = 4f;
    [SerializeField] private float fallSpeed = 7f;

    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