InputEventScreenTouch event position seems to be offset, but all my transforms are set to 0?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By scrapcupcake

So, I’ve been studying the GDQuest tutorial on How to Detect Gestures (see here)
to make a ‘click and hold’ event controller. However, when I try to use the positions I get back to set my transform, it’s always about half the screen offset to the right and down from where I click. Is there something about screen positions that I’m not getting?

extends Node2D

signal pressed(pos)
signal press_cancel(pos)
signal press_complete(pos)

onready var hold = $PressHold
var hold_pos = Vector2()

func _input(event):
	if not event is InputEventScreenTouch:
		return	
	if event.pressed:
		_start_press(event)
	elif hold.is_stopped() and hold_pos !=  Vector2():
		_complete_press()
	else:
		_cancel_press()

func _start_press(event):
	hold_pos = event.position #Only not. !!!!!!!!!!!FIXME
	global_position = hold_pos
	emit_signal("pressed",hold_pos)
	hold.start()

func _complete_press():
	emit_signal("press_complete", hold_pos)
	hold_pos = Vector2()

func _cancel_press():
	hold.stop()
	emit_signal("press_cancel", hold_pos)
	hold_pos = Vector2()


func _on_PressHold_timeout():
	_complete_press()