godot-shooter / commit
Adding fade-in animation to enemy, but not the power-ups.
Enemy.gd | 1 + Enemy.tscn | 31 ++++++++++++++++++++++++++- HealPowerUp.gd | 3 +++ HealPowerUp.tscn | 62 ++++++++++++++++++++++++++++++++++++++++-------------- SpeedPowerUp.gd | 3 +++ SpeedPowerUp.tscn | 63 +++++++++++++++++++++++++++++++++++++++++-------------- 6 files changed, 130 insertions(+), 33 deletions(-) diff --git a/Enemy.gd b/Enemy.gd index 15ac29c..a16e4a2 100644 --- a/Enemy.gd +++ b/Enemy.gd @@ -19,6 +19,7 @@ var velocity = Vector2.ZERO var dead = false func _ready() -> void: + $AnimationPlayer.play("fade_in") if health < 0 or health > max_health: health = max_health else: diff --git a/Enemy.tscn b/Enemy.tscn index 0415eef..5953df8 100644 --- a/Enemy.tscn +++ b/Enemy.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://assets/kenney_simple-space/PNG/Default/enemy_A.png" type="Texture" id=1] [ext_resource path="res://Enemy.gd" type="Script" id=2] @@ -8,6 +8,34 @@ [sub_resource type="Animation" id=1] length = 3.0 +[sub_resource type="Animation" id=3] +resource_name = "fade_in" +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 = { +"times": PoolRealArray( 0, 3 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( -0.2, 3 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector2( 0.01, 0.01 ), Vector2( 1, 1 ) ] +} + [sub_resource type="Animation" id=2] resource_name = "fade_out" tracks/0/type = "value" @@ -63,6 +91,7 @@ texture = ExtResource( 3 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/RESET = SubResource( 1 ) +anims/fade_in = SubResource( 3 ) anims/fade_out = SubResource( 2 ) [node name="DamagePoints" type="Node2D" parent="."] diff --git a/HealPowerUp.gd b/HealPowerUp.gd index c28ca49..feff1c9 100644 --- a/HealPowerUp.gd +++ b/HealPowerUp.gd @@ -2,6 +2,9 @@ extends Node2D export var heal_amount = 1 +#func _ready() -> void: +# $AnimationPlayer.play("fade_in") + func _on_Area2D_body_entered(body: Node) -> void: if body.has_method("heal"): body.heal(heal_amount) diff --git a/HealPowerUp.tscn b/HealPowerUp.tscn index 478ae38..64c39c9 100644 --- a/HealPowerUp.tscn +++ b/HealPowerUp.tscn @@ -1,7 +1,11 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://HealPowerUp.gd" type="Script" id=1] [ext_resource path="res://assets/kenney_simple-space/PNG/Retina/star_tiny.png" type="Texture" id=2] +[ext_resource path="res://CharacterTheme.tres" type="Theme" id=3] + +[sub_resource type="RectangleShape2D" id=4] +extents = Vector2( 27, 32.5 ) [sub_resource type="Animation" id=1] length = 0.001 @@ -18,6 +22,34 @@ tracks/0/keys = { "values": [ Color( 1, 1, 1, 1 ) ] } +[sub_resource type="Animation" id=3] +resource_name = "fade_in" +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 = { +"times": PoolRealArray( 0, 3 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( -0.2, 3 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector2( 0.01, 0.01 ), Vector2( 1, 1 ) ] +} + [sub_resource type="Animation" id=2] resource_name = "fade_out" tracks/0/type = "value" @@ -46,34 +78,32 @@ tracks/1/keys = { "method": "queue_free" } ] } -tracks/2/type = "value" -tracks/2/path = NodePath("Area2D/CollisionPolygon2D:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"times": PoolRealArray( 0.1 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ true ] -} [node name="HealPowerUp" type="Node2D"] script = ExtResource( 1 ) [node name="Area2D" type="Area2D" parent="."] +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2( 0, 14.5 ) +shape = SubResource( 4 ) + [node name="Sprite" type="Sprite" parent="Area2D"] modulate = Color( 0, 1, 0.0156863, 1 ) texture = ExtResource( 2 ) -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Area2D"] -visible = false -polygon = PoolVector2Array( 0, -15, -16, 0, 0, 16, 16, 0 ) +[node name="Label" type="Label" parent="Area2D"] +margin_left = -26.0 +margin_top = 17.0 +margin_right = 27.0 +margin_bottom = 52.0 +theme = ExtResource( 3 ) +text = "+HP" +align = 1 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/RESET = SubResource( 1 ) +anims/fade_in = SubResource( 3 ) anims/fade_out = SubResource( 2 ) [connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"] diff --git a/SpeedPowerUp.gd b/SpeedPowerUp.gd index 863780e..d525408 100644 --- a/SpeedPowerUp.gd +++ b/SpeedPowerUp.gd @@ -2,6 +2,9 @@ extends Node2D export var speed_amount = 10 +#func _ready() -> void: +# $AnimationPlayer.play("fade_in") + func _on_Area2D_body_entered(body: Node) -> void: if body.has_method("speed_up"): body.speed_up() diff --git a/SpeedPowerUp.tscn b/SpeedPowerUp.tscn index a489fb2..6c461dd 100644 --- a/SpeedPowerUp.tscn +++ b/SpeedPowerUp.tscn @@ -1,7 +1,11 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://SpeedPowerUp.gd" type="Script" id=1] [ext_resource path="res://assets/kenney_simple-space/PNG/Retina/star_tiny.png" type="Texture" id=2] +[ext_resource path="res://CharacterTheme.tres" type="Theme" id=3] + +[sub_resource type="RectangleShape2D" id=4] +extents = Vector2( 26, 32 ) [sub_resource type="Animation" id=1] length = 0.001 @@ -18,6 +22,34 @@ tracks/0/keys = { "values": [ Color( 1, 1, 1, 1 ) ] } +[sub_resource type="Animation" id=3] +resource_name = "fade_in" +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 = { +"times": PoolRealArray( 0, 3 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( -0.2, 3 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector2( 0.01, 0.01 ), Vector2( 1, 1 ) ] +} + [sub_resource type="Animation" id=2] resource_name = "fade_out" tracks/0/type = "value" @@ -46,18 +78,6 @@ tracks/1/keys = { "method": "queue_free" } ] } -tracks/2/type = "value" -tracks/2/path = NodePath("Area2D/CollisionPolygon2D:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"times": PoolRealArray( 0.1 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ true ] -} [node name="SpeedPowerUp" type="Node2D"] script = ExtResource( 1 ) @@ -69,12 +89,23 @@ speed_amount = 20 modulate = Color( 0, 0.462745, 1, 1 ) texture = ExtResource( 2 ) -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Area2D"] -visible = false -polygon = PoolVector2Array( 0, -15, -16, 0, 0, 16, 16, 0 ) +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2( 0, 16 ) +shape = SubResource( 4 ) + +[node name="Label" type="Label" parent="Area2D"] +margin_left = -25.0 +margin_top = 19.0 +margin_right = 26.0 +margin_bottom = 54.0 +theme = ExtResource( 3 ) +text = "+SP" +align = 1 +valign = 1 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/RESET = SubResource( 1 ) +anims/fade_in = SubResource( 3 ) anims/fade_out = SubResource( 2 ) [connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"]