diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/basketball.gd | 22 | 
1 files changed, 12 insertions, 10 deletions
| diff --git a/scripts/basketball.gd b/scripts/basketball.gd index 31d082a..ea9fe65 100644 --- a/scripts/basketball.gd +++ b/scripts/basketball.gd @@ -2,17 +2,17 @@ extends RigidBody2D  export var spin_speed = -1  export var move_speed = 60 +export var power_magnitude = 10  var start_position  var is_dragging = false  var waiting_for_shoot = true -var power -var power_magnitude = 10 -var spin_rotation = 0  var ready_to_shoot  var ready_to_hold -var exit_position +var power +var spin_rotation = 0  var has_exited +var exit_position  func _ready():  	start_position = position @@ -52,23 +52,25 @@ func _process(delta):  func _input(event):  	if event.is_action_pressed("shoot") and ready_to_hold and waiting_for_shoot: -		$Sprite.position = event.position - start_position +		is_dragging = true  		$GhostSprite.visible = true +		$Sprite.position = event.position - start_position  		$GhostSprite.rotation = $Sprite.rotation -		is_dragging = true  	if !has_exited and is_dragging and event is InputEventMouseMotion:  		$Sprite.position = event.position - start_position  	if event.is_action_released("shoot"): -		if is_dragging and ready_to_shoot or !waiting_for_shoot: +		if !waiting_for_shoot: +			toggle_mode() +		if is_dragging and ready_to_shoot: +			is_dragging = false +			$GhostSprite.visible = false +			$Sprite.position = Vector2()  			var basketball_position  			if has_exited:  				basketball_position = exit_position  			else:  				basketball_position = event.position  			power = (start_position - basketball_position) * power_magnitude -			$Sprite.position = Vector2() -			is_dragging = false -			$GhostSprite.visible = false  			toggle_mode()  func on_OuterShape_mouse_entered(): | 
