godot-shooter / commit
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)