summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/basketball.gd17
1 files changed, 4 insertions, 13 deletions
diff --git a/scripts/basketball.gd b/scripts/basketball.gd
index 6770382..6171410 100644
--- a/scripts/basketball.gd
+++ b/scripts/basketball.gd
@@ -57,19 +57,10 @@ func _input(event):
$Sprite.position = event.position - start_position
$GhostSprite.rotation = $Sprite.rotation
if is_dragging and event is InputEventMouseMotion:
- var sprite_position = event.position - start_position
- var hypot = sqrt(sprite_position.x * sprite_position.x + sprite_position.y * sprite_position.y)
- var circle_radius = $OuterShape/CollisionShape2D.shape.radius
-
- if hypot > circle_radius:
- var angle = atan2(sprite_position.y, sprite_position.x)
-
- var new_x = circle_radius * cos(angle)
- var new_y = circle_radius * sin(angle)
-
- $Sprite.position = Vector2(new_x, new_y)
- else:
- $Sprite.position = sprite_position
+ $Sprite.position = event.position - start_position
+ if has_exited:
+ var angle = atan2($Sprite.position.y, $Sprite.position.x)
+ $Sprite.position = Vector2(cos(angle), sin(angle)) * $OuterShape/CollisionShape2D.shape.radius
if event.is_action_released("shoot"):
if !waiting_for_shoot:
toggle_mode()