fuzzyworld

godot-shooter / commit

Simplified enemy fade-out and ensured that the enemy is properly deleted after the animation is done.

adab6dc8f4023aa75de6ac9bdf2cb1742191a9d5 · Pavel Safronov · 2023-11-02 13:54:20 -0700 · parents 1d4ba5a6429e

Simplified enemy fade-out and ensured that the enemy is properly deleted after the animation is done.
 Enemy.tscn | 54 ++++++++++++++----------------------------------------
 World.gd   |  6 +++---
 2 files changed, 17 insertions(+), 43 deletions(-)

diff --git a/Enemy.tscn b/Enemy.tscn
index bd729e6..7644cd0 100644
--- a/Enemy.tscn
+++ b/Enemy.tscn
@@ -5,58 +5,32 @@
 [ext_resource path="res://assets/kenney_simple-space/PNG/Default/icon_plusLarge.png" type="Texture" id=3]
 
 [sub_resource type="Animation" id=1]
-length = 0.001
-tracks/0/type = "bezier"
-tracks/0/path = NodePath(".:modulate:r")
+length = 3.0
+tracks/0/type = "value"
+tracks/0/path = NodePath(".:modulate")
 tracks/0/interp = 1
 tracks/0/loop_wrap = true
 tracks/0/imported = false
 tracks/0/enabled = true
 tracks/0/keys = {
-"points": PoolRealArray( 1, -0.25, 0, 0.25, 0 ),
-"times": PoolRealArray( 0 )
+"times": PoolRealArray( 0, 3 ),
+"transitions": PoolRealArray( 1, 1 ),
+"update": 0,
+"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
 }
-tracks/1/type = "bezier"
-tracks/1/path = NodePath(".:modulate:g")
+tracks/1/type = "method"
+tracks/1/path = NodePath(".")
 tracks/1/interp = 1
 tracks/1/loop_wrap = true
 tracks/1/imported = false
 tracks/1/enabled = true
 tracks/1/keys = {
-"points": PoolRealArray( 1, -0.25, 0, 0.25, 0 ),
-"times": PoolRealArray( 0 )
-}
-tracks/2/type = "bezier"
-tracks/2/path = NodePath(".:modulate:b")
-tracks/2/interp = 1
-tracks/2/loop_wrap = true
-tracks/2/imported = false
-tracks/2/enabled = true
-tracks/2/keys = {
-"points": PoolRealArray( 1, -0.25, 0, 0.25, 0 ),
-"times": PoolRealArray( 0 )
-}
-tracks/3/type = "bezier"
-tracks/3/path = NodePath(".:modulate:a")
-tracks/3/interp = 1
-tracks/3/loop_wrap = true
-tracks/3/imported = false
-tracks/3/enabled = true
-tracks/3/keys = {
-"points": PoolRealArray( 1, -0.25, 0, 0.25, 0 ),
-"times": PoolRealArray( 0 )
-}
-tracks/4/type = "value"
-tracks/4/path = NodePath(".:modulate")
-tracks/4/interp = 1
-tracks/4/loop_wrap = true
-tracks/4/imported = false
-tracks/4/enabled = true
-tracks/4/keys = {
-"times": PoolRealArray( 0 ),
+"times": PoolRealArray( 3 ),
 "transitions": PoolRealArray( 1 ),
-"update": 0,
-"values": [ Color( 1, 1, 1, 1 ) ]
+"values": [ {
+"args": [  ],
+"method": "queue_free"
+} ]
 }
 
 [sub_resource type="Animation" id=2]
diff --git a/World.gd b/World.gd
index d775f99..98ef26d 100644
--- a/World.gd
+++ b/World.gd
@@ -73,9 +73,9 @@ func _on_ShootTimer_timeout() -> void:
 		Utils.log("enemies length", enemies.size())
 		enemies.sort_custom(self, "sort_enemies_ascending_distance")
 		for enemy in enemies:
-			var diff_to_player: Vector2 = enemy.position - $Player.position
-			var dist_to_player = diff_to_player.length()
-			Utils.log("enemy pos", enemy.position, "dist_to_player", dist_to_player)
+#			var diff_to_player: Vector2 = enemy.position - $Player.position
+#			var dist_to_player = diff_to_player.length()
+#			Utils.log("enemy pos", enemy.position, "dist_to_player", dist_to_player)
 			enemy.is_targeted = false
 		var closest_enemy: Enemy = enemies[0]
 		$Player.shoot_at(closest_enemy.global_position)