Андроид. Как сделать перетаскивание в godot
есть инвентарь в GridContainer -> Slot(тут текстура рамки), потом я добавляю предмет и вызывается Inctance() и add_child() т.е. тут проблем нет, на каждом слоту есть поднятие(pickFromItem) и обросание(putIntoSlot) итема, в главном Node2D -> Inventory есть скрипт перетягивания слота под Андроид
func _ready():
for i in range(collect_panel.size()): -- перебор всех слотов в инвентаре
collect_panel[i].connect("gui_input", self, "slot_gui_input", [collect_panel[i]])
func slot_gui_input(event : InputEvent, slot : ClassSlot):
if event is InputEventScreenTouch:
if event.pressed:
if slot.item:
holding_item = slot.item
slot.pickFromItem()
print("Нажато")
else:
if holding_item != null:
print(event.position)
if !slot.item:
slot.putIntoSlot(holding_item)
holding_item = null
else:
var temp_item = slot.item
slot.pickFromItem()
temp_item.global_position = event.position
slot.putIntoSlot(holding_item)
holding_item = temp_item
print("Брошено")
func _input(event):
if event is InputEventScreenDrag:
if holding_item:
holding_item.global_position = get_global_mouse_position()
В общем проблема в том что на ПК работает нормально (именно эта часть кода), перетаскиваю иконку и пока не отпущу она следует за мышью (в настройках стоит Emulate Touch From Mouse) но когда компилю на телефон (кстати на эмуляторах не работает) то на телефоне иконки просто исчезают куда - то или уходят на непонятные координаты. помогите, сделать нормальное перетягивание иконки для Андроид... голову ломаю уже несколько дней ((