Menu
CoddyTech

Porównywanie liczb

Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 7 z 85.

Większość warunków porównuje dwie wartości, a każde porównanie zwraca wartość typu bool:

  • a == b: a jest równe b. Dwa znaki równości: jeden znak = przypisuje wartość do zmiennej.
  • a != b: a nie jest równe b
  • a < b i a > b: mniejsze niż, większe niż
  • a <= b i a >= b: mniejsze lub równe, większe lub równe

Aby sprawdzić dwie rzeczy naraz, połącz je: && oznacza „i” (oba warunki muszą być prawdziwe), || oznacza „lub” (wystarczy jeden).

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

Input.GetKeyDown(KeyCode.E) również zwraca wartość typu bool, ale w przeciwieństwie do GetKey jest prawdziwe tylko w tej jednej klatce, w której klawisz zostaje wciśnięty, więc jedno naciśnięcie liczy się raz, niezależnie od tego, jak długo klawisz pozostaje wciśnięty.

challenge icon

Wyzwanie

Łatwy

Drzwi powinny się otworzyć, gdy gracz ma co najmniej 3 klucze i naciśnie E.

  1. Pod blokiem K w Update(), a nie wewnątrz niego, napisz if (keys >= 3 && Input.GetKeyDown(KeyCode.E)).
  2. W nawiasach klamrowych napisz transform.position = new Vector3(0, 4.5f, 3);.

Naciśnij „Graj”, naciśnij K trzy razy, a następnie E: drzwi przesuną się w górę. Potem naciśnij „Sprawdź”.

Spróbuj swoich sił

using UnityEngine;

public class KeyDoor : MonoBehaviour
{
    int keys = 0;

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

        // Otwórz drzwi, gdy masz co najmniej 3 klucze i naciśniesz E:
        // przesuń je do (0, 4.5f, 3).
    }
}

Wszystkie lekcje w sekcji Podstawy skryptów w Unity

Poćwicz samodzielnie: Edytor online Unity