WasTabon
@WasTabon

Как сделать перетаскивание не UI объекта?

Пробовал IPointerUpHandler (или как-то так), но там только UI объекты затрагивает + нет взаимодействия с физикой
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
WasTabon
@WasTabon Автор вопроса
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class DND : MonoBehaviour, IBeginDragHandler, IDragHandler
{
    public Transform transform;
    public Vector2 vector2;
    private void Awake()
    {
        transform = GetComponent<Transform>();
    }

    public void OnBeginDrag(PointerEventData eventData)
    {
        Debug.Log("OnBeginDrag");
    }

    public void OnDrag(PointerEventData eventData)
    {
        Debug.Log("OnDrag");
        vector2 = Camera.main.ScreenToWorldPoint(eventData.position);
        transform.position = new Vector3(vector2.x, vector2.y, 0);
        //transform.position = eventData.pointerCurrentRaycast.screenPosition;
    }
}

+ Добавить объект EventSystem и всё будет работать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы