RESULTS SCREEN

This commit is contained in:
pennyrigate 2023-10-08 19:25:57 -04:00
parent 435855cd5b
commit 81bcfdc34c
15 changed files with 343 additions and 48 deletions

View file

@ -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())

View file

@ -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"]

View file

@ -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)

View file

@ -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 )