Adjusted the shoot function to shoot as many projectiles as defined in a

local variable and ensure they are distributed evenly when firing in
front of the ship.
This commit is contained in:
Henry 2026-04-04 15:17:13 +01:00
parent 172830729f
commit 1794abe50a
3 changed files with 16 additions and 12 deletions

View file

@ -87,7 +87,7 @@ size = Vector2(6, 5.75)
[node name="Player" type="Area2D" unique_id=652131079] [node name="Player" type="Area2D" unique_id=652131079]
script = ExtResource("1_g2els") script = ExtResource("1_g2els")
speed = 165 speed = 275
weapon_current = ExtResource("2_dqkch") weapon_current = ExtResource("2_dqkch")
[node name="Ship" type="Sprite2D" parent="." unique_id=1155866924] [node name="Ship" type="Sprite2D" parent="." unique_id=1155866924]

View file

@ -13,6 +13,7 @@
[node name="Player" parent="Level" unique_id=652131079 instance=ExtResource("2_rwgxs")] [node name="Player" parent="Level" unique_id=652131079 instance=ExtResource("2_rwgxs")]
z_index = 1 z_index = 1
position = Vector2(97, 173) position = Vector2(97, 173)
speed = 200
[node name="Background" type="Node2D" parent="Level" unique_id=485120278] [node name="Background" type="Node2D" parent="Level" unique_id=485120278]
z_index = -1 z_index = -1

View file

@ -87,10 +87,13 @@ func _on_weapon_cooldown_timeout() -> void:
func shoot(): func shoot():
# Instantiate the bullet var projectiles: int = 2
for b in projectiles:
# Instantiate the bullets
var bullet = weapon_current.instantiate() var bullet = weapon_current.instantiate()
get_tree().root.add_child(bullet) get_tree().root.add_child(bullet)
bullet.position = position + Vector2(0,-23) bullet.position = position + Vector2((b * 10) - (projectiles * projectiles),-23)
# Get weapon speed and spacing for equidistant calculations # Get weapon speed and spacing for equidistant calculations
weapon_rate = bullet.shot_data.rate weapon_rate = bullet.shot_data.rate