В Unity есть несколько способов получить координаты мыши в игровой сцене. Ниже я расскажу о двух основных способах.
1. События мыши:
Unity предоставляет класс Input
, который позволяет обрабатывать события и получать информацию о пользовательском вводе, включая информацию о положении мыши. Чтобы получить координаты мыши, вы можете использовать свойства Input.mousePosition.x
и Input.mousePosition.y
:
float mouseX = Input.mousePosition.x; float mouseY = Input.mousePosition.y;
Однако, следует помнить о том, что значения mouseX
и mouseY
будут иметь относительные координаты, основанные на размерах экрана, поэтому, если вы хотите получить абсолютные координаты в игровой сцене, вам может потребоваться выполнить дополнительные расчеты.
2. События интерфейса:
Если вы используете элементы интерфейса Unity, такие как кнопки или панели, то можете использовать события интерфейса, чтобы получить координаты мыши. События интерфейса, такие как OnPointerDown
, OnPointerUp
и OnDrag
, предоставляются Unity для отслеживания пользовательского взаимодействия с элементами интерфейса.
В этом случае, вам нужно добавить скрипт к элементу интерфейса и реализовать нужные методы обработки событий:
using UnityEngine; using UnityEngine.EventSystems; public class YourInterfaceScript : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IDragHandler { public void OnPointerDown(PointerEventData eventData) { float mouseX = eventData.position.x; float mouseY = eventData.position.y; // ... } public void OnPointerUp(PointerEventData eventData) { // ... } public void OnDrag(PointerEventData eventData) { // ... } }
eventData.position.x
и eventData.position.y
содержат координаты мыши, относительно элемента интерфейса, к которому привязан этот скрипт.
Оба эти способа могут быть использованы для получения координат мыши в Unity в зависимости от вашего конкретного сценария. Выбор зависит от того, под какой контекст вы хотите получить координаты мыши - в игровой сцене или внутри интерфейса.