feat: tatoebaspil m kiva hammasbaksu au andrjoku
This commit is contained in:
parent
b2d5ab61d2
commit
050e8f9e22
104 changed files with 3017 additions and 27 deletions
148
prefabs/Characters/enemy_ground.tscn
Normal file
148
prefabs/Characters/enemy_ground.tscn
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
[gd_scene load_steps=13 format=3 uid="uid://bta6rg6alpwct"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ch7n8bdsviq0v" path="res://Assets/Visual/Characters/enemy_ground.png" id="1_klmuj"]
|
||||
[ext_resource type="Script" uid="uid://ow780v11j4gt" path="res://Scripts/Characters/Enemy/enemy_ground.gd" id="1_s5foq"]
|
||||
[ext_resource type="Script" uid="uid://dekx8meo31r21" path="res://Scripts/Characters/Enemy/attack_box.gd" id="3_i34dp"]
|
||||
[ext_resource type="AudioStream" uid="uid://col2gbda38ce2" path="res://Assets/Audio/SFX/hit_01.wav" id="3_k1hhr"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_s5foq"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [1]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i34dp"]
|
||||
resource_name = "death"
|
||||
length = 0.1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [6]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_klmuj"]
|
||||
resource_name = "walk"
|
||||
length = 0.6
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [0, 1, 2, 3, 4, 5]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k1hhr"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_s5foq"),
|
||||
&"death": SubResource("Animation_i34dp"),
|
||||
&"walk": SubResource("Animation_klmuj")
|
||||
}
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_2nl5r"]
|
||||
random_pitch = 1.2
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("3_k1hhr")
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_s5foq"]
|
||||
size = Vector2(10, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_i34dp"]
|
||||
size = Vector2(16, 6)
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_s5foq"]
|
||||
radius = 4.0
|
||||
|
||||
[node name="EnemyGround" type="CharacterBody2D" groups=["enemy"]]
|
||||
script = ExtResource("1_s5foq")
|
||||
|
||||
[node name="Visual" type="Node2D" parent="."]
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Visual"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -8)
|
||||
texture = ExtResource("1_klmuj")
|
||||
hframes = 6
|
||||
vframes = 2
|
||||
frame = 1
|
||||
|
||||
[node name="Animator" type="AnimationPlayer" parent="Visual"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_k1hhr")
|
||||
}
|
||||
|
||||
[node name="Audio" type="Node2D" parent="."]
|
||||
|
||||
[node name="DeathSoundPlayer" type="AudioStreamPlayer" parent="Audio"]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamRandomizer_2nl5r")
|
||||
bus = &"Effects"
|
||||
|
||||
[node name="Hurtbox" type="Area2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_s5foq")
|
||||
|
||||
[node name="AttackBox" type="Area2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 2
|
||||
script = ExtResource("3_i34dp")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="AttackBox"]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_i34dp")
|
||||
|
||||
[node name="Raycasts" type="Node2D" parent="."]
|
||||
|
||||
[node name="GroundRayLeft" type="RayCast2D" parent="Raycasts"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(-8, -4)
|
||||
target_position = Vector2(0, 8)
|
||||
|
||||
[node name="GroundRayRight" type="RayCast2D" parent="Raycasts"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(8, -4)
|
||||
target_position = Vector2(0, 8)
|
||||
|
||||
[node name="WallRayLeft" type="RayCast2D" parent="Raycasts"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -4)
|
||||
target_position = Vector2(-8, 0)
|
||||
|
||||
[node name="WallRayRight" type="RayCast2D" parent="Raycasts"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -4)
|
||||
target_position = Vector2(8, 0)
|
||||
|
||||
[node name="CollisionShape2D2" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("CircleShape2D_s5foq")
|
||||
|
||||
[connection signal="area_entered" from="AttackBox" to="AttackBox" method="_on_area_entered"]
|
||||
192
prefabs/Characters/player.tscn
Normal file
192
prefabs/Characters/player.tscn
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
[gd_scene load_steps=19 format=3 uid="uid://dno8cee2noo4j"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dt3v7jvorf4o3" path="res://Scripts/Characters/PlayerCharacter/player.gd" id="1_25cl6"]
|
||||
[ext_resource type="Texture2D" uid="uid://bhc0ibq7lwqx1" path="res://Assets/Visual/Characters/main_character.png" id="2_jmcfr"]
|
||||
[ext_resource type="AudioStream" uid="uid://db1ix2udu1c2r" path="res://Assets/Audio/SFX/jump_01.wav" id="3_ahvcc"]
|
||||
[ext_resource type="AudioStream" uid="uid://bana4sfscvucv" path="res://Assets/Audio/SFX/jump_02.wav" id="4_rnjr3"]
|
||||
[ext_resource type="AudioStream" uid="uid://dobsokvlbuy20" path="res://Assets/Audio/SFX/hit_02.wav" id="5_vcg4a"]
|
||||
[ext_resource type="Script" uid="uid://5p5u8dtod1cj" path="res://Scripts/Characters/PlayerCharacter/attack_ray.gd" id="6_oefvu"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_u1ipw"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainSprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [1]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_wgyg4"]
|
||||
resource_name = "attack"
|
||||
length = 0.6
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainSprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.4),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [24, 25, 26]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_p1r5x"]
|
||||
resource_name = "idle"
|
||||
length = 0.4
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainSprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [0, 1]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_iyggp"]
|
||||
resource_name = "jump"
|
||||
length = 0.3
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainSprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [12, 13, 14]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_r1f3e"]
|
||||
resource_name = "land"
|
||||
length = 0.4
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainSprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [18]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xpv8o"]
|
||||
resource_name = "run"
|
||||
length = 0.6
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainSprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [6, 7, 8, 9, 10, 11]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_iyggp"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_u1ipw"),
|
||||
&"attack": SubResource("Animation_wgyg4"),
|
||||
&"idle": SubResource("Animation_p1r5x"),
|
||||
&"jump": SubResource("Animation_iyggp"),
|
||||
&"land": SubResource("Animation_r1f3e"),
|
||||
&"run": SubResource("Animation_xpv8o")
|
||||
}
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_wgyg4"]
|
||||
random_pitch = 1.2
|
||||
streams_count = 2
|
||||
stream_0/stream = ExtResource("3_ahvcc")
|
||||
stream_1/stream = ExtResource("4_rnjr3")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7a23l"]
|
||||
random_pitch = 1.2
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("5_vcg4a")
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_780bu"]
|
||||
radius = 4.0
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_p1r5x"]
|
||||
size = Vector2(8, 5)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_u1ipw"]
|
||||
size = Vector2(10, 8)
|
||||
|
||||
[node name="Player" type="CharacterBody2D" groups=["player"]]
|
||||
script = ExtResource("1_25cl6")
|
||||
|
||||
[node name="Visuals" type="Node2D" parent="."]
|
||||
position = Vector2(0, 7)
|
||||
|
||||
[node name="MainSprite" type="Sprite2D" parent="Visuals"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -23)
|
||||
texture = ExtResource("2_jmcfr")
|
||||
hframes = 6
|
||||
vframes = 5
|
||||
frame = 1
|
||||
|
||||
[node name="Animator" type="AnimationPlayer" parent="Visuals"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_iyggp")
|
||||
}
|
||||
|
||||
[node name="Audio" type="Node2D" parent="."]
|
||||
|
||||
[node name="JumpSound" type="AudioStreamPlayer" parent="Audio"]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamRandomizer_wgyg4")
|
||||
bus = &"Effects"
|
||||
|
||||
[node name="HurtSound" type="AudioStreamPlayer" parent="Audio"]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamRandomizer_7a23l")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("CircleShape2D_780bu")
|
||||
|
||||
[node name="AttackRay" type="ShapeCast2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
shape = SubResource("RectangleShape2D_p1r5x")
|
||||
target_position = Vector2(0, 1)
|
||||
collision_mask = 2
|
||||
collide_with_areas = true
|
||||
collide_with_bodies = false
|
||||
script = ExtResource("6_oefvu")
|
||||
|
||||
[node name="Hurtbox" type="Area2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_u1ipw")
|
||||
81
prefabs/Items/apple_pickup.tscn
Normal file
81
prefabs/Items/apple_pickup.tscn
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
[gd_scene load_steps=10 format=3 uid="uid://dn15yopg5ekxa"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bj6chufeyeibu" path="res://Scripts/Items/apple_pickup.gd" id="1_dlhta"]
|
||||
[ext_resource type="Texture2D" uid="uid://c646w8fxcpnlo" path="res://Assets/Visual/Items/apple.png" id="1_n0nxq"]
|
||||
[ext_resource type="Script" uid="uid://58ppxtqvgxmy" path="res://Scripts/Generic/animation_player_play_loop.gd" id="3_r2i6a"]
|
||||
[ext_resource type="AudioStream" uid="uid://c2iv8brn58x4x" path="res://Assets/Audio/SFX/pickup_02.wav" id="4_d1i5d"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_r2i6a"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite2D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -6)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dlhta"]
|
||||
resource_name = "loop"
|
||||
length = 0.8
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite2D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.4),
|
||||
"transitions": PackedFloat32Array(0.75, 0.75),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -8), Vector2(0, -6)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_d1i5d"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_r2i6a"),
|
||||
&"loop": SubResource("Animation_dlhta")
|
||||
}
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_n0nxq"]
|
||||
radius = 8.0
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_r00b0"]
|
||||
random_pitch = 1.2
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("4_d1i5d")
|
||||
|
||||
[node name="ApplePickup" type="Area2D"]
|
||||
collision_layer = 2
|
||||
script = ExtResource("1_dlhta")
|
||||
|
||||
[node name="Visuals" type="Node2D" parent="."]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Visuals"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -6)
|
||||
texture = ExtResource("1_n0nxq")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Visuals"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_d1i5d")
|
||||
}
|
||||
script = ExtResource("3_r2i6a")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("CircleShape2D_n0nxq")
|
||||
|
||||
[node name="PickupSoundPlayer" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamRandomizer_r00b0")
|
||||
bus = &"Effects"
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
27
prefabs/Items/finish.tscn
Normal file
27
prefabs/Items/finish.tscn
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://bnnq2puespaw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d18eis4okksih" path="res://Scripts/Items/finish.gd" id="1_vjr45"]
|
||||
[ext_resource type="Texture2D" uid="uid://ca5jn54tsxqpm" path="res://Assets/Visual/Items/finish.png" id="2_47ak6"]
|
||||
[ext_resource type="AudioStream" uid="uid://b5numv44k2cdi" path="res://Assets/Audio/Music/victory.wav" id="3_47ak6"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_lquyx"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[node name="Finish" type="Area2D"]
|
||||
script = ExtResource("1_vjr45")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
texture = ExtResource("2_47ak6")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_lquyx")
|
||||
|
||||
[node name="VictorySound" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("3_47ak6")
|
||||
volume_db = -8.0
|
||||
bus = &"Music"
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
76
prefabs/UI/fail_screen.tscn
Normal file
76
prefabs/UI/fail_screen.tscn
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://dx3iqfsxsm26a"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c38vevdvg1rq5" path="res://Scripts/UI/fail_screen.gd" id="1_oharj"]
|
||||
[ext_resource type="Theme" uid="uid://dmha0ysm5urx7" path="res://Assets/Visual/UI/base_theme.tres" id="1_rfk4e"]
|
||||
[ext_resource type="AudioStream" uid="uid://djrkydgktdbqb" path="res://Assets/Audio/SFX/ui_blip_02.wav" id="2_oharj"]
|
||||
|
||||
[node name="FailScreen" type="Control"]
|
||||
process_mode = 2
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_oharj")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
layer = 110
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="CanvasLayer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.101961, 0.109804, 0.172549, 0.752941)
|
||||
|
||||
[node name="Name" type="Label" parent="CanvasLayer"]
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -216.0
|
||||
offset_top = 80.0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 118.0
|
||||
grow_horizontal = 2
|
||||
theme = ExtResource("1_rfk4e")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "YOU FAILED"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 239.0
|
||||
offset_top = 152.0
|
||||
offset_right = -239.0
|
||||
offset_bottom = -104.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="ButtonRetry" type="Button" parent="CanvasLayer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
layout_mode = 2
|
||||
theme = ExtResource("1_rfk4e")
|
||||
text = "TRY AGAIN"
|
||||
|
||||
[node name="ButtonQuit" type="Button" parent="CanvasLayer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("1_rfk4e")
|
||||
text = "QUIT
|
||||
"
|
||||
|
||||
[node name="ButtonHoverSound" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("2_oharj")
|
||||
bus = &"Effects"
|
||||
|
||||
[connection signal="button_down" from="CanvasLayer/VBoxContainer/ButtonRetry" to="." method="_on_button_retry_button_down"]
|
||||
[connection signal="focus_entered" from="CanvasLayer/VBoxContainer/ButtonRetry" to="." method="_on_button_retry_focus_entered"]
|
||||
[connection signal="button_down" from="CanvasLayer/VBoxContainer/ButtonQuit" to="." method="_on_button_quit_button_down"]
|
||||
[connection signal="focus_entered" from="CanvasLayer/VBoxContainer/ButtonQuit" to="." method="_on_button_quit_focus_entered"]
|
||||
80
prefabs/UI/hud.tscn
Normal file
80
prefabs/UI/hud.tscn
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://bybftuq1lw7b3"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c8dx103r8mw3y" path="res://Assets/Visual/UI/health_icon.png" id="1_oh2ji"]
|
||||
[ext_resource type="Script" uid="uid://codclvby6ay7g" path="res://Scripts/UI/hud.gd" id="1_xdtoa"]
|
||||
[ext_resource type="Theme" uid="uid://dmha0ysm5urx7" path="res://Assets/Visual/UI/base_theme.tres" id="2_xdtoa"]
|
||||
[ext_resource type="Texture2D" uid="uid://c646w8fxcpnlo" path="res://Assets/Visual/Items/apple.png" id="4_ofty5"]
|
||||
|
||||
[node name="HUD" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_xdtoa")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
layer = 100
|
||||
|
||||
[node name="Control" type="Control" parent="CanvasLayer"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 112.0
|
||||
offset_bottom = 48.0
|
||||
|
||||
[node name="Health" type="Control" parent="CanvasLayer/Control"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Icon" type="TextureRect" parent="CanvasLayer/Control/Health"]
|
||||
clip_contents = true
|
||||
layout_mode = 2
|
||||
offset_left = 8.0
|
||||
offset_top = 8.0
|
||||
offset_right = 29.0
|
||||
offset_bottom = 38.0
|
||||
texture = ExtResource("1_oh2ji")
|
||||
|
||||
[node name="HealthNumber" type="Label" parent="CanvasLayer/Control/Health"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 40.0
|
||||
offset_right = 80.0
|
||||
offset_bottom = 38.0
|
||||
scale = Vector2(3, 3)
|
||||
theme = ExtResource("2_xdtoa")
|
||||
text = "10"
|
||||
|
||||
[node name="Apples" type="Control" parent="CanvasLayer/Control"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_top = 38.0
|
||||
offset_bottom = 38.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Icon" type="TextureRect" parent="CanvasLayer/Control/Apples"]
|
||||
clip_contents = true
|
||||
layout_mode = 2
|
||||
offset_left = 5.0
|
||||
offset_top = 8.0
|
||||
offset_right = 35.0
|
||||
offset_bottom = 38.0
|
||||
texture = ExtResource("4_ofty5")
|
||||
|
||||
[node name="AppleNumber" type="Label" parent="CanvasLayer/Control/Apples"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 0
|
||||
offset_left = 40.0
|
||||
offset_right = 80.0
|
||||
offset_bottom = 38.0
|
||||
scale = Vector2(3, 3)
|
||||
theme = ExtResource("2_xdtoa")
|
||||
text = "10"
|
||||
64
prefabs/World/moving_platform.tscn
Normal file
64
prefabs/World/moving_platform.tscn
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://hadbyy62vq5i"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dequ0ve5i7ir1" path="res://Assets/Visual/Environments/moving_platform.png" id="1_qjg3h"]
|
||||
[ext_resource type="Script" uid="uid://58ppxtqvgxmy" path="res://Scripts/Generic/animation_player_play_loop.gd" id="2_gl7w6"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8qe87"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qjg3h"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CharacterBody2D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 64)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8lwus"]
|
||||
resource_name = "loop"
|
||||
length = 6.0
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CharacterBody2D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(0, 64)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mtr6x"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_qjg3h"),
|
||||
&"loop": SubResource("Animation_8lwus")
|
||||
}
|
||||
|
||||
[node name="MovingPlatform" type="Node2D"]
|
||||
|
||||
[node name="CharacterBody2D" type="CharacterBody2D" parent="."]
|
||||
position = Vector2(0, 64)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"]
|
||||
texture = ExtResource("1_qjg3h")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_8qe87")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_mtr6x")
|
||||
}
|
||||
script = ExtResource("2_gl7w6")
|
||||
6
prefabs/data_bus_singleton.tscn
Normal file
6
prefabs/data_bus_singleton.tscn
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://c5osqwvkfgnbf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cbacrk8c1nvin" path="res://Scripts/data_bus_singleton.gd" id="1_g7idq"]
|
||||
|
||||
[node name="DataBusSingleton" type="Node"]
|
||||
script = ExtResource("1_g7idq")
|
||||
3
prefabs/player.tscn
Normal file
3
prefabs/player.tscn
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[gd_scene format=3 uid="uid://1a7tsdkyl7k0"]
|
||||
|
||||
[node name="Player" type="Node2D" unique_id=1602386697]
|
||||
Loading…
Add table
Add a link
Reference in a new issue