Menu
CoddyTech

Costruttore di torri

Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 67 di 67.

Una gru scorre avanti e indietro sopra una base. Ogni pressione della barra spaziatrice, o ogni clic, fa cadere un blocco verticalmente dalla gru. Un blocco che scende sopra la pila resta lì e il blocco successivo deve atterrarci sopra. Un blocco che manca la pila cade via. L’altezza della pila è il punteggio.

Scrivi l’intero gioco in un unico script, Crane, sulla gru.

challenge icon

Sfida

Difficile

Scrivi lo script Crane su Crane. Nell'Inspector imposta blockPrefab (il prefab Block), top (la Base, la cima della pila finora), craneSpeed (3), craneEdge (4) e fallSpeed (7).

  • La gru scorre lungo x a craneSpeed unità al secondo. Superato craneEdge, torna indietro verso sinistra; superato -craneEdge, torna indietro verso destra.
  • Premendo Spazio o facendo clic con il tasto sinistro, si lascia cadere un Block in corrispondenza della x della gru, 1 unità sotto la gru. Mentre un blocco sta cadendo, ulteriori pressioni non fanno nulla.
  • Il blocco in caduta si sposta verso il basso a fallSpeed unità al secondo.
  • Quando la sua y scende fino a top's y più 1, e la sua x è a meno di 1 da top's x, atterra: imposta la sua y esattamente a top's y più 1, impostalo come nuovo top e registra l'altezza della pila come Stack: 1, Stack: 2 e così via.
  • Un blocco che non atterra continua a cadere. Sotto y = -3, distruggilo e registra Missed!.

Premi Play e costruisci una torre, poi Check.

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti di scripting in Unity