diff options
author | Logan <logan@cflip.net> | 2022-09-30 19:22:48 -0600 |
---|---|---|
committer | Logan <logan@cflip.net> | 2022-09-30 19:22:48 -0600 |
commit | 4ec359af497df0059e3049529bef6d9cede2c39a (patch) | |
tree | 5e35ef4ddc556359e002061ac87e72c40ce0bcf4 /scripts/basketball.gd | |
parent | b57627b9d5226bb21e397ffef692eac23f4293fa (diff) |
Improved position changer and removed the need for a global variable.
Diffstat (limited to 'scripts/basketball.gd')
-rw-r--r-- | scripts/basketball.gd | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/scripts/basketball.gd b/scripts/basketball.gd index cc794ce..9e95d35 100644 --- a/scripts/basketball.gd +++ b/scripts/basketball.gd @@ -1,14 +1,19 @@ extends RigidBody2D +signal reset + export var spin_speed = -1 export var move_speed = 60 export var power_magnitude = 10 export var drag_radius = 30 var start_position: Vector2 +var start_minimum = drag_radius +onready var start_maximum = $"../Hoop".position.x - 40 var is_dragging = false var waiting_for_shoot = true var mouse_over_ball = false +var difficulty_phase = 1 func _ready(): start_position = global_position @@ -29,7 +34,7 @@ func toggle_mode(): # Adds offset of ball's rotation to sprite AFTER the entire object has rotated from physics. # Done to keep appearance of same rotation to add consistency when resetting the ball. $Sprite.rotation += rotation - global_variables.has_scored = false + emit_signal("reset") waiting_for_shoot = true set_use_custom_integrator(waiting_for_shoot) @@ -66,18 +71,24 @@ func _input(event): func _on_InnerShape_mouse_entered(): mouse_over_ball = true - func _on_InnerShape_mouse_exited(): mouse_over_ball = false func position_changer(): - var clamp_minimum = drag_radius + 0 - var clamp_maximum = $"../Hoop".position.x - 40 - if global_variables.score < 5: + # Progressive + if difficulty_phase == 1: start_position.x -= 20 - start_position.x = clamp(start_position.x, clamp_minimum, clamp_maximum) - else: - start_position.x = rand_range(clamp_minimum, clamp_maximum) + start_position.x = clamp(start_position.x, start_minimum, start_maximum) + # Random + if difficulty_phase == 2: + start_position.x = rand_range(start_minimum, start_maximum) func _on_Hoop_score(): + if global_variables.score >= 5 and global_variables.score < 15: + difficulty_phase = 2 + if global_variables.score >= 15 and global_variables.score < 25: + start_minimum = (drag_radius * 2) + $"../Camera2D".limit_left + difficulty_phase = 1 + if global_variables.score >= 25 and global_variables.score < 35: + difficulty_phase = 2 position_changer() |