bullet counter

This commit is contained in:
Haze Weathers 2025-12-14 16:02:46 -06:00
parent 3f2b7e3bd3
commit 5f732e1e6f
7 changed files with 30 additions and 2 deletions

View file

@ -3,7 +3,12 @@ extends CanvasLayer
@export_group("Internal References") @export_group("Internal References")
@export var _fps_counter: Label @export var _fps_counter: Label
@export var _bullet_counter: Label
func _process(delta: float) -> void: func _process(delta: float) -> void:
if not visible:
return
_fps_counter.text = str(Engine.get_frames_per_second()) _fps_counter.text = str(Engine.get_frames_per_second())
_bullet_counter.text = str(get_tree().get_node_count_in_group(&"bullets"))

View file

@ -2,10 +2,11 @@
[ext_resource type="Script" uid="uid://dvn62r3oriwu8" path="res://globals/debug_overlay.gd" id="1_7e5kj"] [ext_resource type="Script" uid="uid://dvn62r3oriwu8" path="res://globals/debug_overlay.gd" id="1_7e5kj"]
[node name="DebugOverlay" type="CanvasLayer" node_paths=PackedStringArray("_fps_counter")] [node name="DebugOverlay" type="CanvasLayer" node_paths=PackedStringArray("_fps_counter", "_bullet_counter")]
layer = 1000 layer = 1000
script = ExtResource("1_7e5kj") script = ExtResource("1_7e5kj")
_fps_counter = NodePath("VBoxContainer/FPS/FPSCounter") _fps_counter = NodePath("VBoxContainer/FPS/FPSCounter")
_bullet_counter = NodePath("VBoxContainer/Bullets/BulletCount")
[node name="VBoxContainer" type="VBoxContainer" parent="."] [node name="VBoxContainer" type="VBoxContainer" parent="."]
@ -18,3 +19,13 @@ text = "FPS:"
[node name="FPSCounter" type="Label" parent="VBoxContainer/FPS"] [node name="FPSCounter" type="Label" parent="VBoxContainer/FPS"]
layout_mode = 2 layout_mode = 2
[node name="Bullets" type="HBoxContainer" parent="VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/Bullets"]
layout_mode = 2
text = "Total Bullets"
[node name="BulletCount" type="Label" parent="VBoxContainer/Bullets"]
layout_mode = 2

View file

@ -3,6 +3,8 @@ class_name BulletEmitter extends Node2D
@export var is_player_bullet = false @export var is_player_bullet = false
@export var bullet_type: PackedScene @export var bullet_type: PackedScene
var _instance
func emit_bullets(): func emit_bullets():
var SpawnedBullet = bullet_type.instantiate() var SpawnedBullet = bullet_type.instantiate()
SpawnedBullet.is_player_bullet = is_player_bullet SpawnedBullet.is_player_bullet = is_player_bullet

View file

@ -2,6 +2,6 @@ extends BulletEmitter
func _on_timer_timeout() -> void: func _on_timer_timeout() -> void:
for i in range(10): for i in range(500):
emit_bullets() emit_bullets()
%AudioStreamPlayer.play() %AudioStreamPlayer.play()

View file

@ -1,3 +1,7 @@
class_name Bullet extends Node2D class_name Bullet extends Node2D
@export var is_player_bullet = false @export var is_player_bullet = false
func _init() -> void:
add_to_group(&"bullets")

View file

@ -59,3 +59,8 @@ frame_progress = 0.26925442
sprite_frames = SubResource("SpriteFrames_10vvt") sprite_frames = SubResource("SpriteFrames_10vvt")
autoplay = "default" autoplay = "default"
frame_progress = 0.21053335 frame_progress = 0.21053335
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
rect = Rect2(-4, -4, 8, 8)
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"]

View file

@ -26,6 +26,7 @@ DebugOverlay="*res://globals/debug_overlay.tscn"
window/size/viewport_width=240 window/size/viewport_width=240
window/size/viewport_height=320 window/size/viewport_height=320
window/vsync/vsync_mode=0
[file_customization] [file_customization]