IronKolchedan
@IronKolchedan

Как наладить OnDrag и OnDrop при Canvas Mode: Screen Space — Camera?

public void OnDrag(PointerEventData eventData)
{
    transform.localPosition = Input.mousePosition;
}

public void OnDrop(PointerEventData eventData)
{
    transform.localPosition = StartPos; 
}

- этот код идеально работает при Screen Space - Overlay, но при Camera объект перетягивается не в том месте где курсор, а он съезжает куда то вправо и так перетаскивается. Обратно он вовсе перестает возвращаться.
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
IronKolchedan
@IronKolchedan Автор вопроса
В OnDrag:
Vector2 pos;
RectTransformUtility.ScreenPointToLocalPointInRectangle(this.transform as RectTransform, Input.mousePosition, this.worldCamera, out pos);
this.transform.position = this.transform.TransformPoint(pos);

В Start:
StartPos = transform.localPosition;
В OnDrop:
this.transform.localPosition = StartPos;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы