Я пытаюсь перетащить RigidBody2D, однако я заметил, что мой код вообще не работает, если я устанавливаю Gravity Scale = 0, и если я устанавливаю Gravity Scale на 0,5, он работает, однако, если я перетащу его и перестану двигаться мышь на секунду, она застревает на своем месте, как будто я установил шкалу гравитации на 0.
extends RigidBody2D
var is_held = false
func _ready():
set_process_input(true)
func _integrate_forces(state):
i = i + 1
var lv = state.get_linear_velocity()
if is_held:
lv = (get_viewport().get_mouse_pos() - get_pos()) * 16
state.set_linear_velocity(lv)
func _input(event):
if event.type == InputEvent.MOUSE_BUTTON and not event.pressed and event.button_index == BUTTON_LEFT:
is_held = false
func _on_food_input_event( viewport, event, shape_idx ):
if event.type == InputEvent.MOUSE_BUTTON and event.pressed and event.button_index == BUTTON_LEFT:
is_held = true
В конце концов, я пытаюсь иметь возможность перетаскивать твердое тело по вертикали или по горизонтали, а не по диагонали и по вертикали.