diff --git a/src/classes/projectile.gd b/src/classes/projectile.gd index ca4d710..2bd650f 100644 --- a/src/classes/projectile.gd +++ b/src/classes/projectile.gd @@ -18,6 +18,8 @@ func _ready(): func _process(delta): rotate(delta * 10) position += direction_normal * velocity_pps * delta + + func _on_body_entered(body): @@ -28,3 +30,7 @@ func _on_body_entered(body): func _on_area_entered(area): pass # Replace with function body. + + +func _on_VisibilityNotifier2D_screen_exited(): + queue_free() diff --git a/src/templates/projectile_template.tscn b/src/templates/projectile_template.tscn index b334157..bb16ff0 100644 --- a/src/templates/projectile_template.tscn +++ b/src/templates/projectile_template.tscn @@ -2,9 +2,12 @@ [ext_resource path="res://src/classes/projectile.gd" type="Script" id=1] -[node name="Projectile_Template" type="Area2D"] +[node name="Projectile" type="Area2D"] monitorable = false script = ExtResource( 1 ) +[node name="VisibilityNotifier2D" type="VisibilityNotifier2D" parent="."] + [connection signal="area_entered" from="." to="." method="_on_area_entered"] [connection signal="body_entered" from="." to="." method="_on_body_entered"] +[connection signal="screen_exited" from="VisibilityNotifier2D" to="." method="_on_VisibilityNotifier2D_screen_exited"]