diff --git a/audio/sounds/fail_shard.ogg b/audio/sounds/fail_shard.ogg new file mode 100644 index 0000000..0b70d96 Binary files /dev/null and b/audio/sounds/fail_shard.ogg differ diff --git a/audio/sounds/fail_shard.ogg.import b/audio/sounds/fail_shard.ogg.import new file mode 100644 index 0000000..4920d06 --- /dev/null +++ b/audio/sounds/fail_shard.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/fail_shard.ogg-f4a17a606ec4c8e07282fd39330025e8.oggstr" + +[deps] + +source_file="res://audio/sounds/fail_shard.ogg" +dest_files=[ "res://.import/fail_shard.ogg-f4a17a606ec4c8e07282fd39330025e8.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/audio/sounds/shard_results.ogg b/audio/sounds/shard_results.ogg new file mode 100644 index 0000000..d2c352d Binary files /dev/null and b/audio/sounds/shard_results.ogg differ diff --git a/audio/sounds/shard_results.ogg.import b/audio/sounds/shard_results.ogg.import new file mode 100644 index 0000000..8d964a6 --- /dev/null +++ b/audio/sounds/shard_results.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/shard_results.ogg-e4052319e009d469e906bde9026be412.oggstr" + +[deps] + +source_file="res://audio/sounds/shard_results.ogg" +dest_files=[ "res://.import/shard_results.ogg-e4052319e009d469e906bde9026be412.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/autoloads/audio.gd b/autoloads/audio.gd index 9e956db..8ab4923 100644 --- a/autoloads/audio.gd +++ b/autoloads/audio.gd @@ -36,6 +36,8 @@ const a_spaghetti = preload("res://audio/sounds/spaghetti.ogg") const a_good_job = preload("res://audio/sounds/good_job.ogg") const a_2600_charge = preload("res://audio/sounds/2600_charge.ogg") const a_victory = preload("res://audio/sounds/victory.ogg") +const a_shard_results = preload("res://audio/sounds/shard_results.ogg") +const a_fail_shard = preload("res://audio/sounds/fail_shard.ogg") #Plays a sound func play_sound(snd,player): diff --git a/graphics/hud/final_score.png b/graphics/hud/final_score.png new file mode 100644 index 0000000..8d90201 Binary files /dev/null and b/graphics/hud/final_score.png differ diff --git a/graphics/hud/final_score.png.import b/graphics/hud/final_score.png.import new file mode 100644 index 0000000..7b4dcbc --- /dev/null +++ b/graphics/hud/final_score.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/final_score.png-fb476d39fc42e0aa87fe7b2a0ad829cc.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/hud/final_score.png" +dest_files=[ "res://.import/final_score.png-fb476d39fc42e0aa87fe7b2a0ad829cc.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/hud/missed_shard.png b/graphics/hud/missed_shard.png new file mode 100644 index 0000000..4c360e2 Binary files /dev/null and b/graphics/hud/missed_shard.png differ diff --git a/graphics/hud/missed_shard.png.import b/graphics/hud/missed_shard.png.import new file mode 100644 index 0000000..687ffd8 --- /dev/null +++ b/graphics/hud/missed_shard.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/missed_shard.png-26175a30421cb7606ba8b71e96c137b9.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/hud/missed_shard.png" +dest_files=[ "res://.import/missed_shard.png-26175a30421cb7606ba8b71e96c137b9.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/menus/results.gd b/menus/results.gd index 0c64e64..399a9c3 100644 --- a/menus/results.gd +++ b/menus/results.gd @@ -1,30 +1,28 @@ extends Node -onready var shards: Node2D = $Shards +onready var shards: Node2D = $ShardsAndBonuses/Shards onready var score = $Score +onready var time = $Time onready var final_score: Label = $FinalScore +onready var animation_player = $AnimationPlayer #Score bonuses onready var collection_bonus_score = $ShardsAndBonuses/Bonuses/CollectionBonus/CollectionBonusScore onready var time_bonus_score = $ShardsAndBonuses/Bonuses/TimeBonus/TimeBonusScore onready var life_bonus_score = $ShardsAndBonuses/Bonuses/LifeBonus/LifeBonusScore onready var arrow_bonus_score = $ShardsAndBonuses/Bonuses/ArrowBonus/ArrowBonusScore onready var perfect_bonus_score = $ShardsAndBonuses/Bonuses/PerfectBonus/PerfectBonusScore +const Text3D = preload("res://objects/hud/3d_text.tscn") func _ready() -> void: - # tween for sequencing - var tween = create_tween() + Fade.fade_in(0.4) # fill in shard names var level: LevelEntry = LevelData.levels[Game.current_level] for i in 5: var shard = shards.get_child(i) shard.get_node("Title").text = level.shard_titles[i] - # shard collect animations - tween.tween_interval(0.5) - if Game.shards_collected[i]: - tween.tween_callback(shard, "collect") - - score.text = Game.score + score.text = "%05d" % Game.score + time.text = str("TIME: ") + Game.timeify(Game.time) #Determine score bonuses collection_bonus_score.text = str("+") + str(Game.collection_bonus) time_bonus_score.text = str("+") + str(Game.time_bonus) @@ -34,5 +32,18 @@ func _ready() -> void: func _physics_process(delta: float) -> void: if Input.is_action_just_released("ui_accept"): - Game.clear_collectibles() - SceneManager.change_scene(preload("res://menus/level_select_scholar.tscn").instance()) + animation_player.set_speed_scale(4) + + +func final_score(): + animation_player.set_speed_scale(2) + var text_3d = Text3D.instance() + text_3d.anim = "final score" + self.add_child(text_3d) + + +func _on_AnimationPlayer_animation_finished(anim_name): + Game.clear_collectibles() + Fade.fade_out(0.4) + yield(Fade, "fade_finished") + SceneManager.change_scene(preload("res://menus/level_select_scholar.tscn").instance()) diff --git a/menus/results.tscn b/menus/results.tscn index a0ae35d..7361746 100644 --- a/menus/results.tscn +++ b/menus/results.tscn @@ -6,7 +6,8 @@ [ext_resource path="res://graphics/hud/results.png" type="Texture" id=4] [ext_resource path="res://graphics/hud/perfect_bonus.png" type="Texture" id=5] [ext_resource path="res://graphics/player/arrow.png" type="Texture" id=6] -[ext_resource path="res://ui/PressStart2P-Regular.ttf" type="DynamicFontData" id=7] +[ext_resource path="res://ui/arrow_figure_8.tres" type="Material" id=7] +[ext_resource path="res://graphics/hud/final_score.png" type="Texture" id=8] [ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=9] [ext_resource path="res://ui/theme.tres" type="Theme" id=10] [ext_resource path="res://menus/results.gd" type="Script" id=13] @@ -32,10 +33,6 @@ shader = ExtResource( 3 ) shader_param/border_color = Color( 0, 0, 0, 1 ) shader_param/border_corners = false -[sub_resource type="DynamicFont" id=9] -outline_color = Color( 0.254902, 0.027451, 0.027451, 1 ) -font_data = ExtResource( 7 ) - [sub_resource type="ShaderMaterial" id=6] shader = ExtResource( 1 ) shader_param/speed = Vector2( 4, 8 ) @@ -125,7 +122,7 @@ tracks/5/keys = { [sub_resource type="Animation" id=4] resource_name = "results" -length = 50.0 +length = 24.0 step = 1.0 tracks/0/type = "method" tracks/0/path = NodePath("ShardsAndBonuses/Shards/ResultsIcon") @@ -134,7 +131,7 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 3 ), +"times": PoolRealArray( 1 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], @@ -148,7 +145,7 @@ tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { -"times": PoolRealArray( 4 ), +"times": PoolRealArray( 2 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], @@ -162,7 +159,7 @@ tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { -"times": PoolRealArray( 5 ), +"times": PoolRealArray( 3 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], @@ -176,7 +173,7 @@ tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { -"times": PoolRealArray( 6 ), +"times": PoolRealArray( 4 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], @@ -190,7 +187,7 @@ tracks/4/loop_wrap = true tracks/4/imported = false tracks/4/enabled = true tracks/4/keys = { -"times": PoolRealArray( 7 ), +"times": PoolRealArray( 5 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], @@ -204,7 +201,7 @@ tracks/5/loop_wrap = true tracks/5/imported = false tracks/5/enabled = true tracks/5/keys = { -"times": PoolRealArray( 9, 10, 17, 18 ), +"times": PoolRealArray( 7, 8, 15, 16 ), "transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 0, "values": [ Vector2( 0, 0 ), Vector2( -256, 0 ), Vector2( -256, 0 ), Vector2( -512, 0 ) ] @@ -216,7 +213,7 @@ tracks/6/loop_wrap = true tracks/6/imported = false tracks/6/enabled = true tracks/6/keys = { -"times": PoolRealArray( 0, 11 ), +"times": PoolRealArray( -2, 9 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] @@ -228,7 +225,7 @@ tracks/7/loop_wrap = true tracks/7/imported = false tracks/7/enabled = true tracks/7/keys = { -"times": PoolRealArray( 0, 12 ), +"times": PoolRealArray( -2, 10 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] @@ -240,7 +237,7 @@ tracks/8/loop_wrap = true tracks/8/imported = false tracks/8/enabled = true tracks/8/keys = { -"times": PoolRealArray( 0, 13 ), +"times": PoolRealArray( -2, 11 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] @@ -252,7 +249,7 @@ tracks/9/loop_wrap = true tracks/9/imported = false tracks/9/enabled = true tracks/9/keys = { -"times": PoolRealArray( 0, 14 ), +"times": PoolRealArray( -2, 12 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] @@ -264,7 +261,7 @@ tracks/10/loop_wrap = true tracks/10/imported = false tracks/10/enabled = true tracks/10/keys = { -"times": PoolRealArray( 0, 15 ), +"times": PoolRealArray( -2, 13 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] @@ -276,7 +273,7 @@ tracks/11/loop_wrap = true tracks/11/imported = false tracks/11/enabled = true tracks/11/keys = { -"times": PoolRealArray( 11 ), +"times": PoolRealArray( 9 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], @@ -290,7 +287,7 @@ tracks/12/loop_wrap = true tracks/12/imported = false tracks/12/enabled = true tracks/12/keys = { -"times": PoolRealArray( 12 ), +"times": PoolRealArray( 10 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], @@ -304,13 +301,27 @@ tracks/13/loop_wrap = true tracks/13/imported = false tracks/13/enabled = true tracks/13/keys = { -"times": PoolRealArray( 13 ), +"times": PoolRealArray( 11 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], "method": "collect" } ] } +tracks/14/type = "method" +tracks/14/path = NodePath(".") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"times": PoolRealArray( 17 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "final_score" +} ] +} [node name="Results" type="Node"] script = ExtResource( 13 ) @@ -514,6 +525,11 @@ margin_bottom = 23.0 theme = ExtResource( 10 ) text = "+500" +[node name="FinalScore" type="Sprite" parent="ShardsAndBonuses"] +material = ExtResource( 7 ) +position = Vector2( 640, 40 ) +texture = ExtResource( 8 ) + [node name="Score" type="Label" parent="."] material = ExtResource( 9 ) margin_top = 8.0 @@ -523,13 +539,13 @@ theme = ExtResource( 10 ) text = "Score: 0000000" align = 1 -[node name="FinalScore" type="Label" parent="."] -margin_top = 120.0 +[node name="Time" type="Label" parent="."] +material = ExtResource( 9 ) +margin_top = 178.0 margin_right = 256.0 -margin_bottom = 136.0 +margin_bottom = 192.0 theme = ExtResource( 10 ) -custom_fonts/font = SubResource( 9 ) -text = "1234567890" +text = "Time: " align = 1 [node name="Results" type="Sprite" parent="."] @@ -538,7 +554,10 @@ position = Vector2( 232, 80 ) texture = ExtResource( 4 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] -autoplay = "New Anim" +autoplay = "results" +playback_speed = 2.0 "anims/New Anim" = SubResource( 3 ) anims/RESET = SubResource( 10 ) anims/results = SubResource( 4 ) + +[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"] diff --git a/menus/results_icon.gd b/menus/results_icon.gd index e5d1ae1..1169655 100644 --- a/menus/results_icon.gd +++ b/menus/results_icon.gd @@ -7,3 +7,7 @@ export var number = 0 func collect() -> void: if Game.shards_collected[number] == true: anims.play("collect") + Audio.play_sound(Audio.a_shard_results,Audio.ac_collectible) + else: + anims.play("fail") + Audio.play_sound(Audio.a_fail_shard,Audio.ac_collectible) diff --git a/menus/results_icon.tscn b/menus/results_icon.tscn index ef80685..f73a102 100644 --- a/menus/results_icon.tscn +++ b/menus/results_icon.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=12 format=2] [ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=1] [ext_resource path="res://graphics/collectibles/shard.png" type="Texture" id=2] [ext_resource path="res://menus/results_icon.gd" type="Script" id=3] +[ext_resource path="res://graphics/hud/missed_shard.png" type="Texture" id=4] [sub_resource type="ShaderMaterial" id=4] shader = ExtResource( 1 ) @@ -40,6 +41,30 @@ tracks/1/keys = { "update": 1, "values": [ false ] } +tracks/2/type = "value" +tracks/2/path = NodePath("FailX:scale") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("FailX:rotation_degrees") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} [sub_resource type="Animation" id=3] resource_name = "collect" @@ -68,6 +93,41 @@ tracks/1/keys = { "values": [ true ] } +[sub_resource type="Animation" id=9] +resource_name = "fail" +tracks/0/type = "value" +tracks/0/path = NodePath("FailX:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ 0.0, 360.0 ] +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("FailX:scale:x") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 1e-05, -0.25, 0, 0.25, 0, 1, 0, -0.504449, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("FailX:scale:y") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 1e-05, -0.25, 0, 0.25, 0, 1, 0, -0.504449, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5 ) +} + [sub_resource type="Gradient" id=7] interpolation_mode = 2 offsets = PoolRealArray( 0, 0.734694, 1 ) @@ -92,6 +152,7 @@ texture = ExtResource( 2 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/RESET = SubResource( 6 ) anims/collect = SubResource( 3 ) +anims/fail = SubResource( 9 ) [node name="CollectedParticles" type="CPUParticles2D" parent="."] pause_mode = 2 @@ -118,3 +179,8 @@ material = SubResource( 8 ) scale = Vector2( 1e-05, 1e-05 ) texture = ExtResource( 2 ) offset = Vector2( 1, 1 ) + +[node name="FailX" type="Sprite" parent="."] +position = Vector2( 1, 1 ) +scale = Vector2( 1e-05, 1e-05 ) +texture = ExtResource( 4 ) diff --git a/objects/hud/3d_text.gd b/objects/hud/3d_text.gd index dda4a03..de241d3 100644 --- a/objects/hud/3d_text.gd +++ b/objects/hud/3d_text.gd @@ -27,6 +27,8 @@ func _set_material(value: Material) -> void: yield(self, "ready") text_mesh.mesh.material = text_material +func final_score(): + _set_text("%05d" % Game.final_score) func play_confirm_sound(): pass # Replace with function body. diff --git a/objects/hud/3d_text.tscn b/objects/hud/3d_text.tscn index de37d03..8a6a0f8 100644 --- a/objects/hud/3d_text.tscn +++ b/objects/hud/3d_text.tscn @@ -1,20 +1,22 @@ -[gd_scene load_steps=21 format=2] +[gd_scene load_steps=23 format=2] [ext_resource path="res://ui/PressStart2P-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://objects/hud/3d_text.gd" type="Script" id=2] [ext_resource path="res://ui/Kozuka Mincho Std H.otf" type="DynamicFontData" id=3] [ext_resource path="res://ui/Boba Date.otf" type="DynamicFontData" id=4] +[ext_resource path="res://ui/HooskaiChamferedSquare.ttf" type="DynamicFontData" id=5] -[sub_resource type="SpatialMaterial" id=9] -albedo_color = Color( 0.901961, 0.133333, 0.133333, 1 ) +[sub_resource type="SpatialMaterial" id=11] +albedo_color = Color( 0.309804, 0.690196, 0.380392, 1 ) metallic = 0.35 +metallic_specular = 0.11 [sub_resource type="DynamicFont" id=19] font_data = ExtResource( 1 ) [sub_resource type="TextMesh" id=2] resource_local_to_scene = true -material = SubResource( 9 ) +material = SubResource( 11 ) text = "TEXT" font = SubResource( 19 ) pixel_size = 0.05 @@ -183,6 +185,99 @@ tracks/4/keys = { "values": [ ExtResource( 4 ) ] } +[sub_resource type="Animation" id=20] +resource_name = "final score" +tracks/0/type = "value" +tracks/0/path = NodePath("TextMesh:rotation_degrees") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5, 1 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 180, 0, 216 ), Vector3( 360, 0, 360 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("TextMesh:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector3( 1, 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("..:text_material") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ SubResource( 11 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("..:text") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "00000" ] +} +tracks/4/type = "value" +tracks/4/path = NodePath("TextMesh:mesh:font:font_data") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 5 ) ] +} +tracks/5/type = "value" +tracks/5/path = NodePath("TextMesh:translation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( -8, 1.8, 0 ), Vector3( 0, 0, 0 ) ] +} +tracks/6/type = "method" +tracks/6/path = NodePath("..") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "final_score" +} ] +} + +[sub_resource type="SpatialMaterial" id=9] +albedo_color = Color( 0.901961, 0.133333, 0.133333, 1 ) +metallic = 0.35 + [sub_resource type="Animation" id=18] resource_name = "fucker" length = 2.0 @@ -337,11 +432,6 @@ tracks/5/keys = { "values": [ ExtResource( 1 ) ] } -[sub_resource type="SpatialMaterial" id=11] -albedo_color = Color( 0.309804, 0.690196, 0.380392, 1 ) -metallic = 0.35 -metallic_specular = 0.11 - [sub_resource type="Animation" id=7] resource_name = "level complete" tracks/0/type = "value" @@ -568,7 +658,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 2 ) text = "TEXT" -text_material = SubResource( 9 ) +text_material = SubResource( 11 ) [node name="Viewport" type="Viewport" parent="."] size = Vector2( 256, 192 ) @@ -596,6 +686,7 @@ unique_name_in_owner = true anims/RESET = SubResource( 5 ) "anims/Zoom Entrance" = SubResource( 6 ) "anims/bug world" = SubResource( 17 ) +"anims/final score" = SubResource( 20 ) anims/fucker = SubResource( 18 ) "anims/game over" = SubResource( 10 ) "anims/level complete" = SubResource( 7 )