Menu
CoddyTech

Confrontare i numeri

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

La maggior parte delle condizioni confronta due valori e ogni confronto restituisce un bool:

  • a == b: a è uguale a b. Due segni di uguale: un solo = assegna un valore a una variabile.
  • a != b: a è diverso da b
  • a < b e a > b: minore di, maggiore di
  • a <= b e a >= b: minore o uguale a, maggiore o uguale a

Per verificare due condizioni contemporaneamente, uniscile: && significa e (entrambe devono essere vere), || significa oppure (ne basta una).

if (coins >= 10 && level == 3)
{
    Debug.Log("The shop is open");
}

Anche Input.GetKeyDown(KeyCode.E) restituisce un bool, ma a differenza di GetKey è vero solo nel singolo frame in cui il tasto viene premuto, quindi una pressione viene conteggiata una sola volta, indipendentemente da quanto a lungo si tiene premuto il tasto.

challenge icon

Sfida

Facile

La porta dovrebbe aprirsi quando il giocatore ha 3 chiavi o più e preme E.

  1. Sotto il blocco K in Update(), non al suo interno, scrivi if (keys >= 3 && Input.GetKeyDown(KeyCode.E)).
  2. Tra le sue parentesi graffe, scrivi transform.position = new Vector3(0, 4.5f, 3);.

Premi «Gioca», premi K tre volte, poi E: la porta scorre verso l'alto. Poi premi «Verifica».

Provalo tu

using UnityEngine;

public class KeyDoor : MonoBehaviour
{
    int keys = 0;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.K))
        {
            keys++;
            Debug.Log("Keys: " + keys);
        }

        // Apri la porta con 3 chiavi o più e premendo E:
        // spostala in (0, 4.5f, 3).
    }
}

Tutte le lezioni di Fondamenti di scripting in Unity

Esercitati da solo: Playground Unity