Menu
CoddyTech

Сравнение чисел

Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 7 из 85.

Большинство условий сравнивают два значения, и каждое сравнение даёт значение bool:

  • a == b: a равно b. Два знака равенства: один знак = присваивает значение переменной.
  • a != b: a не равно b
  • a < b и a > b: меньше, больше
  • a <= b и a >= b: меньше или равно, больше или равно

Чтобы проверить сразу два условия, объедини их: && означает «и» (оба условия должны быть истинными), || означает «или» (достаточно одного).

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

Input.GetKeyDown(KeyCode.E) — тоже значение bool, но, в отличие от GetKey, оно истинно только в тот кадр, когда клавиша нажимается, поэтому одно нажатие засчитывается один раз, как бы долго ни удерживалась клавиша.

challenge icon

Задание

Легко

Дверь должна открыться, когда у игрока будет 3 ключа или больше и он нажмёт E.

  1. Ниже блока K в Update(), не внутри него, напиши if (keys >= 3 && Input.GetKeyDown(KeyCode.E)).
  2. В фигурных скобках напиши transform.position = new Vector3(0, 4.5f, 3);.

Нажми «Играть», нажми K три раза, затем E: дверь поднимается. Затем нажми «Проверить».

Попробуйте сами

using UnityEngine;

public class KeyDoor : MonoBehaviour
{
    int keys = 0;

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

        // Открой дверь, если есть 3 ключа или больше и нажата клавиша E:
        // перемести её в точку (0, 4.5f, 3).
    }
}

Все уроки раздела Основы скриптинга в Unity

Потренируйтесь самостоятельно: Песочница Unity