Diffstat (limited to 'SwipeHandler.gd')
-rw-r--r--SwipeHandler.gd46
1 files changed, 7 insertions, 39 deletions
diff --git a/SwipeHandler.gd b/SwipeHandler.gd
index cadcdd5..362ebf7 100644
--- a/SwipeHandler.gd
+++ b/SwipeHandler.gd
@@ -6,31 +6,8 @@ var first_touch_position := Vector2.ZERO
var touch_release_position := Vector2.ZERO
var swiping := false
-@export var swipe_limit : float
-@export var touch_y_limit : int
-
-var swipe_start
-
-var quick_trigger = 150
-
-func _ready():
- set_process(not DisplayServer.is_touchscreen_available())
- set_process_input(DisplayServer.is_touchscreen_available())
-
-func _input(event):
- if event is InputEventScreenTouch:
- if event.pressed:
- swipe_start = event.position
- elif swipe_start != null:
- var distance = swipe_start.distance_to(event.position)
- if distance > swipe_limit:
- calculate_swipe(swipe_start.direction_to(event.position))
- if event is InputEventScreenDrag:
- if abs(event.speed.x) > quick_trigger || abs(event.speed.y) > quick_trigger:
- if swipe_start != null:
- calculate_swipe((swipe_start.direction_to(event.position)))
- print(swipe_start.direction_to(event.position))
- swipe_start = null
+export var swipe_limit : float
+export var touch_y_limit : int
func _process(_delta):
if Input.is_action_just_pressed("touch"):
@@ -41,14 +18,14 @@ func _process(_delta):
touch_release_position = get_global_mouse_position()
calculate_direction()
swiping = false
-
+
func calculate_direction():
var swipe_vector = touch_release_position - first_touch_position
if swipe_vector.length() > swipe_limit:
- var temp = rad_to_deg(swipe_vector.angle()) + 180 # right = 0
+ var temp = rad2deg(swipe_vector.angle()) + 180 # right = 0
first_touch_position = Vector2.ZERO
touch_release_position = Vector2.ZERO
-
+
if temp > 45 and temp <= 135:
emit_signal("swiped", Vector2.UP)
elif temp > 135 and temp <= 225:
@@ -57,14 +34,5 @@ func calculate_direction():
emit_signal("swiped", Vector2.DOWN)
else:
emit_signal("swiped", Vector2.LEFT)
-
-
-func calculate_swipe(dist):
- if dist.x > .5:
- emit_signal("swiped", Vector2.RIGHT)
- elif dist.x < -.5:
- emit_signal("swiped", Vector2.LEFT)
- elif dist.y > .5:
- emit_signal("swiped", Vector2.DOWN)
- elif dist.y < -.5:
- emit_signal("swiped", Vector2.UP)
+
+