Что такое OnMouseDrag в Unity C#?
Метод OnMouseDrag является встроенным методом Unity, который вызывается каждый раз, когда пользователь удерживает нажатой кнопку мыши над объектом с коллайдером. Это позволяет реализовать взаимодействие с объектами в сцене через перетаскивание или другие действия, связанные с удерживанием мыши.
OnMouseDrag
- Вызывается при удерживании мыши: Метод срабатывает, если указатель мыши находится над объектом с коллайдером, и кнопка мыши удерживается.
- Не требует ручного вызова: Unity автоматически вызывает этот метод, если у объекта есть компонент
Collider. - Идеален для перетаскивания: Часто используется для реализации механики перетаскивания объектов в сцене.
using UnityEngine;
public class DragObject : MonoBehaviour
{
private Vector3 offset;
// Вызывается при удерживании мыши на объекте
void OnMouseDrag()
{
// Перемещаем объект за курсором мыши
Vector3 mousePosition = Input.mousePosition;
mousePosition.z = Camera.main.WorldToScreenPoint(transform.position).z; // Глубина
Vector3 worldPosition = Camera.main.ScreenToWorldPoint(mousePosition);
transform.position = worldPosition;
}
}
Комментарии