diff options
author | Logan <logan@cflip.net> | 2022-09-23 21:59:15 -0600 |
---|---|---|
committer | Logan <logan@cflip.net> | 2022-09-23 21:59:15 -0600 |
commit | e5b67d7ce326747dc9cd04eb2ee4f9d29bc4c970 (patch) | |
tree | f3f5dffb20d0ada160d3bb62879952bf6812bc29 | |
parent | 3daf9c3d4b464943d0b70a6a650e7a6d6e7472c8 (diff) |
Made basketball float and rotate before shooting.
-rw-r--r-- | scenes/basketball.tscn | 1 | ||||
-rw-r--r-- | scripts/basketball.gd | 9 |
2 files changed, 8 insertions, 2 deletions
diff --git a/scenes/basketball.tscn b/scenes/basketball.tscn index 457da83..ce0a71b 100644 --- a/scenes/basketball.tscn +++ b/scenes/basketball.tscn @@ -12,6 +12,7 @@ radius = 40.0 [node name="Basketball" type="RigidBody2D"] position = Vector2( 71, 541 ) physics_material_override = SubResource( 2 ) +gravity_scale = 0.0 script = ExtResource( 2 ) __meta__ = { "_edit_group_": true diff --git a/scripts/basketball.gd b/scripts/basketball.gd index 40d189c..43944c5 100644 --- a/scripts/basketball.gd +++ b/scripts/basketball.gd @@ -1,7 +1,7 @@ extends RigidBody2D var start_position -var do_reset = false +var do_reset = true var is_reset = true # Called when the node enters the scene tree for the first time. @@ -11,9 +11,11 @@ func _ready(): # Override the default physics when we want to manually reset the position and rotation. func _integrate_forces(state): if do_reset: - state.transform = Transform2D(0, start_position) + state.transform.origin = start_position state.linear_velocity = Vector2() state.angular_velocity = 0 + set_angular_damp(0) + apply_torque_impulse(-1000) do_reset = false is_reset = true @@ -21,7 +23,10 @@ func _integrate_forces(state): func _input(event): if event.is_action_pressed("shoot"): if is_reset: + set_angular_damp(-1) + gravity_scale = 1 apply_impulse(Vector2(10, 10), Vector2(500, -800)) is_reset = false else: + gravity_scale = 0 do_reset = true |