feat: tatoebaspil m kiva hammasbaksu au andrjoku

This commit is contained in:
Sheldon Cooper 2026-10-20 18:31:52 -04:00
parent b2d5ab61d2
commit 050e8f9e22
104 changed files with 3017 additions and 27 deletions

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

View 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")

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

View 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
View 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"

View 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")

View 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
View file

@ -0,0 +1,3 @@
[gd_scene format=3 uid="uid://1a7tsdkyl7k0"]
[node name="Player" type="Node2D" unique_id=1602386697]