Menu
CoddyTech

Кнопки мыши

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

У кнопок мыши есть три собственных метода, которым передаётся номер кнопки: 0 — левая кнопка, 1 — правая, 2 — средняя.

  • Input.GetMouseButtonDown(0): левая кнопка была нажата в этом кадре.
  • Input.GetMouseButton(0): она нажата прямо сейчас — в каждом кадре, пока кнопка удерживается.
  • Input.GetMouseButtonUp(0): она была отпущена в этом кадре.

Они работают так же, как методы клавиатуры, а Input.GetMouseButtonDown(0) — это то же самое, что Input.GetKeyDown(KeyCode.Mouse0). Этот колокольчик звонит один раз при каждом щелчке в игре:

public int rings = 0;

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        rings++;
        Debug.Log("Ding! " + rings);
    }
}

Засчитывается щелчок в любом месте игры, а не только по колокольчику: эти методы сообщают о нажатии кнопки, но не о том, что находится под указателем. Чтобы определить, по какому объекту щёлкнули, потребуется больше кода. На телефоне Unity сообщает о касании как о нажатии кнопки мыши 0, поэтому колокольчик звонит и при касаниях.

challenge icon

Задание

Легко

Каждый щелчок в игре увеличивает размер куба на 0.25 по каждой оси, пока он не достигнет размера 2. После этого щелчки ничего не делают. Удерживание кнопки считается одним щелчком.

Размер куба задаётся значением transform.localScale, и изначально он равен 1 по каждой оси. Нажми Play и щёлкни по игре, затем нажми Check.

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

using UnityEngine;

public class Grower : MonoBehaviour
{
    void Update()
    {
        // При каждом клике: увеличивать размер на 0.25 по каждой оси, до размера 2.
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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