Зависимость операции перетаскивания от позиции привязки в нереальном движке 4

У меня проблема с операцией перетаскивания для элементов пользовательского интерфейса: я создал тестовый объект для перетаскивания: DragTestObject_BP и переопределить функции: Функция OnMouseBottonDown и OnDragDetected. Получателем будет HUD_BP с переопределением OnDrop.

Проблема в том, что первая операция перетаскивания работает без проблем только в том случае, если якорь для перетаскиваемого объекта установлен в верхний левый угол. В противном случае объект перетаскивания имеет некоторое проводное смещение.

Позиция в начале:

введите здесь описание изображения

Перетащите объект, на который перепрыгнул первый щелчок мыши по нему

введите здесь описание изображения


person user12822329    schedule 01.02.2020    source источник
comment
Не лучше ли использовать интерфейс с функциями DragStart и DragEnd, которые задают местоположение в виде 2D-координат непосредственно на холсте?   -  person Fritz    schedule 02.03.2020


Ответы (1)


Может быть немного поздно, но вы захотите поместить виджет, который вы щелкаете, чтобы перетащить ("DragTestObject_BP") внутри другого виджета.

Вероятно, было бы неплохо удалить любую панель холста в «DragTestObject_BP».

Это сделает источник «DragTestObject_BP» там, где он расположен визуально, вместо использования местоположения панели холста, с которой вы, похоже, столкнулись.

person user13722168    schedule 10.06.2020