Задать вопрос
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 объект перетягивается не в том месте где курсор, а он съезжает куда то вправо и так перетаскивается. Обратно он вовсе перестает возвращаться.
  • Вопрос задан
  • 151 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Инженер
по тестированию
    10 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    Разработка игр на Unity
    5 месяцев
    Далее
Решения вопроса 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;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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