Skip to content
Радорама
Menu
  • SkillForce2
  • Другие игры
  • Unity
  • Блог
  • Творчество
  • Контакты
  • Поддержать
Menu

Клик по объекту

Posted on 28.02.202108.03.2021 by radoar

Чтобы объект реагировал на клик мыши, нужно в его скрипт добавить интерфейс IPointerClickHandler.

Например, есть класс Examle, наследованный от MonoBehaviour. Имплементируем в нём этот интерфейс, добавляя «IPointerClickHandler» через запятую в объявлении:

public class Example : MonoBehaviour, IPointerClickHandler
{
...
}

После этого в классе Examle нужно реализовать метод OnPointerClick:

public class Example : MonoBehaviour, IPointerClickHandler
{
  public void OnPointerClick(PointerEventData eventData)
  {
    Debug.Log("По мне кликнули!");
  }
...
}

Таким же образом — добавляя в объявление класса через запятую нужные интерфейсы — можно наделить объект способностью реагировать на другие события, например, на событие отпускания кнопки мыши — IPointerUpHandler. Так, если нам нужен и клик и отпускание и перетаскивание:

public class Example : MonoBehaviour, IPointerClickHandler, IPointerUpHandler, IDragHandler

Соответственно необходимо реализовать соответствующие методы: OnPointerUp и OnDrag.

Простейший класс перетаскивая может выглядеть так:

using UnityEngine;
using UnityEngine.EventSystems;

public class Example : MonoBehaviour, IPointerClickHandler, IPointerUpHandler, IDragHandler
{
    public void OnPointerClick(PointerEventData eventData) 
    { 
        Debug.Log("По мне кликнули!"); 
    }

    public void OnPointerUp(PointerEventData eventData)
    {
        Debug.Log("Меня отпустили!");
    }

    public void OnDrag(PointerEventData eventData)
    {
        transform.position = eventData.position;
    }
}

 

20

SkillForce2

  • Главная
  • >> Поддержка <<
  • Об игре
  • Форум
  • Скриншоты
  • Видео
  • Играть

Войти

Регистрация

©2021 Радорама | Built using WordPress and Responsive Blogily theme by Superb