diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/basketball.gd | 17 |
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() |