This commit is contained in:
Tabby 2025-11-30 00:49:23 +11:00
parent 792dd99546
commit 37a19d8788
14 changed files with 379 additions and 105 deletions

19
Prefabs/coin.gd Normal file
View file

@ -0,0 +1,19 @@
extends Area2D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
modulate = Storyteller.current_coin_color
func _on_body_entered(body: Node2D) -> void:
if body is RigidBody2D:
#body.apply_force((body.global_position - global_position).normalized() *10000)
#body.linear_velocity = (body.global_position - global_position).normalized() *100
queue_free()
body.got_points.emit()

1
Prefabs/coin.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://do7o4q625abg3

73
Prefabs/coin.tscn Normal file
View file

@ -0,0 +1,73 @@
[gd_scene load_steps=11 format=3 uid="uid://b7km814mwwsvv"]
[ext_resource type="Script" uid="uid://do7o4q625abg3" path="res://Prefabs/coin.gd" id="1_ilgmi"]
[ext_resource type="Texture2D" uid="uid://bnd3eacyt5x70" path="res://Sprites/coinspin.png" id="2_cbfdx"]
[sub_resource type="AtlasTexture" id="AtlasTexture_oi7sn"]
atlas = ExtResource("2_cbfdx")
region = Rect2(0, 0, 15, 15)
[sub_resource type="AtlasTexture" id="AtlasTexture_thoqv"]
atlas = ExtResource("2_cbfdx")
region = Rect2(15, 0, 15, 15)
[sub_resource type="AtlasTexture" id="AtlasTexture_h4ckm"]
atlas = ExtResource("2_cbfdx")
region = Rect2(30, 0, 15, 15)
[sub_resource type="AtlasTexture" id="AtlasTexture_ewynv"]
atlas = ExtResource("2_cbfdx")
region = Rect2(45, 0, 15, 15)
[sub_resource type="AtlasTexture" id="AtlasTexture_i2k62"]
atlas = ExtResource("2_cbfdx")
region = Rect2(60, 0, 15, 15)
[sub_resource type="AtlasTexture" id="AtlasTexture_f2p4i"]
atlas = ExtResource("2_cbfdx")
region = Rect2(75, 0, 15, 15)
[sub_resource type="SpriteFrames" id="SpriteFrames_4nl6u"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_oi7sn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_thoqv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h4ckm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ewynv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i2k62")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f2p4i")
}],
"loop": true,
"name": &"new_animation",
"speed": 10.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_ar03h"]
radius = 6.0
[node name="Coin" type="Area2D"]
script = ExtResource("1_ilgmi")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
scale = Vector2(0.8, 0.8)
sprite_frames = SubResource("SpriteFrames_4nl6u")
animation = &"new_animation"
autoplay = "new_animation"
frame_progress = 0.29463264
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource("CircleShape2D_ar03h")
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

BIN
Sprites/coinspin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 B

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bnd3eacyt5x70"
path="res://.godot/imported/coinspin.png-510761113102a1b0b127b91a2af3e58f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/coinspin.png"
dest_files=["res://.godot/imported/coinspin.png-510761113102a1b0b127b91a2af3e58f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Sprites/coinspin.pxo Normal file

Binary file not shown.

304
game.tscn
View file

@ -1,4 +1,4 @@
[gd_scene load_steps=30 format=4 uid="uid://hv07lm2tjwn4"]
[gd_scene load_steps=34 format=4 uid="uid://hv07lm2tjwn4"]
[ext_resource type="PackedScene" uid="uid://crrbht7mwhgyc" path="res://Prefabs/lander.tscn" id="1_80nbo"]
[ext_resource type="Script" uid="uid://bltj2frs6vqwj" path="res://autoscroll.gd" id="1_feb5d"]
@ -7,10 +7,12 @@
[ext_resource type="Texture2D" uid="uid://evhjxwdbsmlo" path="res://Sprites/start.png" id="2_e2o6t"]
[ext_resource type="Texture2D" uid="uid://cgvqs4g0bnol1" path="res://Sprites/sheilds.png" id="3_vef74"]
[ext_resource type="PackedScene" uid="uid://cfdsa5scvso6m" path="res://Prefabs/spare_battery.tscn" id="4_eow3j"]
[ext_resource type="Texture2D" uid="uid://lkj8ecm5p4g6" path="res://icon.svg" id="5_iotsf"]
[ext_resource type="Script" uid="uid://dd8psfqfobgau" path="res://test_obstacle_spawner.gd" id="6_vef74"]
[ext_resource type="Script" uid="uid://b3w38e1a77qr0" path="res://screen_borders.gd" id="7_mfdv2"]
[ext_resource type="PackedScene" uid="uid://jb677rdhbj83" path="res://Prefabs/obstacle.tscn" id="8_j5wjh"]
[ext_resource type="PackedScene" uid="uid://bbtky034ivm5o" path="res://Prefabs/newObstacle.tscn" id="8_vef74"]
[ext_resource type="PackedScene" uid="uid://b7km814mwwsvv" path="res://Prefabs/coin.tscn" id="13_lc2xo"]
[sub_resource type="Gradient" id="Gradient_mwb40"]
offsets = PackedFloat32Array(0.806763, 1)
@ -23,8 +25,8 @@ domain_warp_amplitude = 43.465
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_mwb40"]
width = 6400
height = 360
color_ramp = SubResource("Gradient_mwb40")
noise = SubResource("FastNoiseLite_80nbo")
color_ramp = SubResource("Gradient_mwb40")
[sub_resource type="AtlasTexture" id="AtlasTexture_hve3p"]
atlas = ExtResource("3_vef74")
@ -83,6 +85,21 @@ animations = [{
"speed": 5.0
}]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lc2xo"]
content_margin_left = 3.0
content_margin_top = 3.0
content_margin_right = 3.0
content_margin_bottom = 3.0
bg_color = Color(0.27387288, 0.2738727, 0.27387273, 0.6)
corner_radius_top_left = 3
corner_radius_top_right = 3
corner_radius_bottom_right = 3
corner_radius_bottom_left = 3
corner_detail = 5
[sub_resource type="LabelSettings" id="LabelSettings_215e1"]
font_size = 20
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_mfdv2"]
normal = Vector2(1, 0)
@ -99,14 +116,17 @@ size = Vector2(115, 20)
[sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_hve3p"]
scenes/1/scene = ExtResource("8_vef74")
scenes/2/scene = ExtResource("13_lc2xo")
[sub_resource type="TileSet" id="TileSet_mfdv2"]
physics_layer_0/collision_layer = 1
sources/0 = SubResource("TileSetScenesCollectionSource_hve3p")
[node name="Game" type="Node2D" node_paths=PackedStringArray("hp_bar")]
[node name="Game" type="Node2D" node_paths=PackedStringArray("hp_bar", "score_label")]
script = ExtResource("1_hve3p")
hp_bar = NodePath("CanvasLayer/UI/Sheilds/AnimatedSprite2D")
combo_colors = Array[Color]([Color(1, 0.70145667, 0.16219577, 1), Color(0.3137255, 0.8352941, 0, 1), Color(0, 0.82264274, 0.74572664, 1), Color(0.39216104, 0.62102085, 1, 1), Color(0.78915083, 0.4211687, 1, 1)])
score_label = NodePath("CanvasLayer/UI/PanelContainer/ScoresUI/ScoreLabel")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
@ -129,6 +149,7 @@ grow_horizontal = 2
grow_vertical = 2
[node name="BatteryHolder" type="HBoxContainer" parent="CanvasLayer/UI" node_paths=PackedStringArray("current_battery")]
visible = false
layout_mode = 1
offset_right = 68.0
offset_bottom = 32.0
@ -150,18 +171,46 @@ layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 535.0
offset_bottom = -324.0
grow_horizontal = 2
grow_vertical = 2
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="CanvasLayer/UI/Sheilds"]
position = Vector2(589, 19)
position = Vector2(53, 19)
scale = Vector2(2, 2)
sprite_frames = SubResource("SpriteFrames_e8heu")
[node name="PanelContainer" type="PanelContainer" parent="CanvasLayer/UI"]
layout_mode = 0
offset_left = 3.0
offset_top = 3.0
offset_right = 135.0
offset_bottom = 37.0
theme_override_styles/panel = SubResource("StyleBoxFlat_lc2xo")
[node name="ScoresUI" type="HBoxContainer" parent="CanvasLayer/UI/PanelContainer"]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="CanvasLayer/UI/PanelContainer/ScoresUI"]
layout_mode = 2
texture = ExtResource("5_iotsf")
expand_mode = 3
stretch_mode = 6
[node name="ScoreLabel" type="Label" parent="CanvasLayer/UI/PanelContainer/ScoresUI"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
text = "123"
label_settings = SubResource("LabelSettings_215e1")
horizontal_alignment = 2
vertical_alignment = 1
[node name="Camera2D" type="Camera2D" parent="."]
anchor_mode = 0
script = ExtResource("1_feb5d")
camera_speed = 30.0
camera_speed = 15.0
[node name="TestObstacleSpawner" type="Node2D" parent="Camera2D"]
process_mode = 4
@ -241,7 +290,7 @@ visible = false
position = Vector2(549, 39)
[node name="TileMapLayer" type="TileMapLayer" parent="."]
tile_map_data = PackedByteArray("AAAOABQAAAAAAAAAAQAPABUAAAAAAAAAAQAQABQAAAAAAAAAAQARABUAAAAAAAAAAQASABQAAAAAAAAAAQARAAsAAAAAAAAAAQASAAoAAAAAAAAAAQATAAsAAAAAAAAAAQAUAAoAAAAAAAAAAQAVAAsAAAAAAAAAAQAUAAwAAAAAAAAAAQASAAwAAAAAAAAAAQAdABIAAAAAAAAAAQAeABEAAAAAAAAAAQAeABMAAAAAAAAAAQAfABIAAAAAAAAAAQAgABEAAAAAAAAAAQAgABMAAAAAAAAAAQAhABIAAAAAAAAAAQAeAAMAAAAAAAAAAQAfAAQAAAAAAAAAAQAfAAIAAAAAAAAAAQAgAAMAAAAAAAAAAQAhAAIAAAAAAAAAAQAhAAQAAAAAAAAAAQAiAAMAAAAAAAAAAQAmABUAAAAAAAAAAQAnABQAAAAAAAAAAQAoABMAAAAAAAAAAQApABIAAAAAAAAAAQAqABEAAAAAAAAAAQArABAAAAAAAAAAAQAsAA8AAAAAAAAAAQAtAA4AAAAAAAAAAQAuAA0AAAAAAAAAAQAvAAwAAAAAAAAAAQAwAAsAAAAAAAAAAQAxAAoAAAAAAAAAAQAyAAkAAAAAAAAAAQAzAAgAAAAAAAAAAQBAAAAAAAAAAAAAAQBAAAIAAAAAAAAAAQBAAAQAAAAAAAAAAQBAAAYAAAAAAAAAAQBAAAgAAAAAAAAAAQBAAAoAAAAAAAAAAQA+AAwAAAAAAAAAAQA8AA4AAAAAAAAAAQA6ABAAAAAAAAAAAQA7AA8AAAAAAAAAAQA9AA0AAAAAAAAAAQA/AAsAAAAAAAAAAQAnAAgAAAAAAAAAAQAoAAcAAAAAAAAAAQAoAAkAAAAAAAAAAQApAAgAAAAAAAAAAQAqAAkAAAAAAAAAAQAqAAcAAAAAAAAAAQArAAgAAAAAAAAAAQA8ABAAAAAAAAAAAQA+ABAAAAAAAAAAAQBAABAAAAAAAAAAAQBCABAAAAAAAAAAAQBEABAAAAAAAAAAAQBGABAAAAAAAAAAAQBIABAAAAAAAAAAAQBKABAAAAAAAAAAAQBMABAAAAAAAAAAAQBOABAAAAAAAAAAAQBTABAAAAAAAAAAAQBTABIAAAAAAAAAAQBTAA4AAAAAAAAAAQBTABUAAAAAAAAAAQBSAAwAAAAAAAAAAQBQAAsAAAAAAAAAAQBOAAsAAAAAAAAAAQBMAAsAAAAAAAAAAQBKAAsAAAAAAAAAAQBBAAsAAAAAAAAAAQBDAAsAAAAAAAAAAQBFAAsAAAAAAAAAAQBFAAkAAAAAAAAAAQBKAAkAAAAAAAAAAQBFAAcAAAAAAAAAAQBKAAcAAAAAAAAAAQBFAAUAAAAAAAAAAQBKAAUAAAAAAAAAAQBGAAIAAAAAAAAAAQBJAAEAAAAAAAAAAQBLAAEAAAAAAAAAAQBMAAUAAAAAAAAAAQBNAAEAAAAAAAAAAQBOAAUAAAAAAAAAAQBPAAEAAAAAAAAAAQBQAAUAAAAAAAAAAQBRAAEAAAAAAAAAAQBSAAUAAAAAAAAAAQBTAAEAAAAAAAAAAQA=")
tile_map_data = PackedByteArray("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")
tile_set = SubResource("TileSet_mfdv2")
[connection signal="body_entered" from="Camera2D/borders/screenBorders" to="Camera2D/borders/screenBorders" method="_on_body_entered"]
@ -249,103 +298,150 @@ tile_set = SubResource("TileSet_mfdv2")
[connection signal="body_entered" from="Camera2D/borders/screenBorders3" to="Camera2D/borders/screenBorders3" method="_on_body_entered"]
[connection signal="body_entered" from="Camera2D/borders/screenBorders4" to="Camera2D/borders/screenBorders4" method="_on_body_entered"]
[connection signal="got_hit" from="Lander" to="." method="_on_lander_got_hit"]
[connection signal="got_points" from="Lander" to="." method="_on_lander_got_points"]
[connection signal="moved" from="Lander" to="Camera2D" method="_on_lander_moved"]
[connection signal="moved" from="Lander" to="Camera2D/TestObstacleSpawner" method="_on_lander_moved"]
[connection signal="body_entered" from="TileMapLayer/NewObstacle" to="TileMapLayer/NewObstacle" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22285" to="TileMapLayer/@Area2D@22285" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22286" to="TileMapLayer/@Area2D@22286" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22287" to="TileMapLayer/@Area2D@22287" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22288" to="TileMapLayer/@Area2D@22288" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22289" to="TileMapLayer/@Area2D@22289" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22290" to="TileMapLayer/@Area2D@22290" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22291" to="TileMapLayer/@Area2D@22291" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22292" to="TileMapLayer/@Area2D@22292" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22293" to="TileMapLayer/@Area2D@22293" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22294" to="TileMapLayer/@Area2D@22294" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22295" to="TileMapLayer/@Area2D@22295" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22296" to="TileMapLayer/@Area2D@22296" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22297" to="TileMapLayer/@Area2D@22297" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22298" to="TileMapLayer/@Area2D@22298" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22299" to="TileMapLayer/@Area2D@22299" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22300" to="TileMapLayer/@Area2D@22300" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22301" to="TileMapLayer/@Area2D@22301" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22302" to="TileMapLayer/@Area2D@22302" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22303" to="TileMapLayer/@Area2D@22303" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22304" to="TileMapLayer/@Area2D@22304" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22305" to="TileMapLayer/@Area2D@22305" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22306" to="TileMapLayer/@Area2D@22306" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22307" to="TileMapLayer/@Area2D@22307" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22308" to="TileMapLayer/@Area2D@22308" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22309" to="TileMapLayer/@Area2D@22309" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22310" to="TileMapLayer/@Area2D@22310" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22311" to="TileMapLayer/@Area2D@22311" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22312" to="TileMapLayer/@Area2D@22312" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22313" to="TileMapLayer/@Area2D@22313" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22314" to="TileMapLayer/@Area2D@22314" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22315" to="TileMapLayer/@Area2D@22315" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22316" to="TileMapLayer/@Area2D@22316" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22317" to="TileMapLayer/@Area2D@22317" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22318" to="TileMapLayer/@Area2D@22318" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22319" to="TileMapLayer/@Area2D@22319" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22320" to="TileMapLayer/@Area2D@22320" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22321" to="TileMapLayer/@Area2D@22321" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22322" to="TileMapLayer/@Area2D@22322" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22323" to="TileMapLayer/@Area2D@22323" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22324" to="TileMapLayer/@Area2D@22324" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22325" to="TileMapLayer/@Area2D@22325" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22326" to="TileMapLayer/@Area2D@22326" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22327" to="TileMapLayer/@Area2D@22327" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22328" to="TileMapLayer/@Area2D@22328" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22329" to="TileMapLayer/@Area2D@22329" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22330" to="TileMapLayer/@Area2D@22330" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22331" to="TileMapLayer/@Area2D@22331" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22332" to="TileMapLayer/@Area2D@22332" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22333" to="TileMapLayer/@Area2D@22333" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22334" to="TileMapLayer/@Area2D@22334" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22335" to="TileMapLayer/@Area2D@22335" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22336" to="TileMapLayer/@Area2D@22336" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22337" to="TileMapLayer/@Area2D@22337" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22338" to="TileMapLayer/@Area2D@22338" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22339" to="TileMapLayer/@Area2D@22339" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22340" to="TileMapLayer/@Area2D@22340" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22341" to="TileMapLayer/@Area2D@22341" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22342" to="TileMapLayer/@Area2D@22342" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22343" to="TileMapLayer/@Area2D@22343" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22344" to="TileMapLayer/@Area2D@22344" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22345" to="TileMapLayer/@Area2D@22345" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22346" to="TileMapLayer/@Area2D@22346" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22347" to="TileMapLayer/@Area2D@22347" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22348" to="TileMapLayer/@Area2D@22348" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22349" to="TileMapLayer/@Area2D@22349" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22350" to="TileMapLayer/@Area2D@22350" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22351" to="TileMapLayer/@Area2D@22351" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22352" to="TileMapLayer/@Area2D@22352" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22353" to="TileMapLayer/@Area2D@22353" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22354" to="TileMapLayer/@Area2D@22354" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22355" to="TileMapLayer/@Area2D@22355" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22356" to="TileMapLayer/@Area2D@22356" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22357" to="TileMapLayer/@Area2D@22357" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22358" to="TileMapLayer/@Area2D@22358" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22359" to="TileMapLayer/@Area2D@22359" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22360" to="TileMapLayer/@Area2D@22360" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22361" to="TileMapLayer/@Area2D@22361" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22362" to="TileMapLayer/@Area2D@22362" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22363" to="TileMapLayer/@Area2D@22363" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22364" to="TileMapLayer/@Area2D@22364" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22365" to="TileMapLayer/@Area2D@22365" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22366" to="TileMapLayer/@Area2D@22366" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22367" to="TileMapLayer/@Area2D@22367" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22368" to="TileMapLayer/@Area2D@22368" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22369" to="TileMapLayer/@Area2D@22369" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22370" to="TileMapLayer/@Area2D@22370" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22371" to="TileMapLayer/@Area2D@22371" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22372" to="TileMapLayer/@Area2D@22372" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22373" to="TileMapLayer/@Area2D@22373" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22374" to="TileMapLayer/@Area2D@22374" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22375" to="TileMapLayer/@Area2D@22375" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22376" to="TileMapLayer/@Area2D@22376" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22377" to="TileMapLayer/@Area2D@22377" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22378" to="TileMapLayer/@Area2D@22378" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22379" to="TileMapLayer/@Area2D@22379" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22380" to="TileMapLayer/@Area2D@22380" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@22381" to="TileMapLayer/@Area2D@22381" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63672" to="TileMapLayer/@Area2D@63672" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63673" to="TileMapLayer/@Area2D@63673" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63674" to="TileMapLayer/@Area2D@63674" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63675" to="TileMapLayer/@Area2D@63675" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63676" to="TileMapLayer/@Area2D@63676" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63677" to="TileMapLayer/@Area2D@63677" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63678" to="TileMapLayer/@Area2D@63678" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63679" to="TileMapLayer/@Area2D@63679" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63680" to="TileMapLayer/@Area2D@63680" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63681" to="TileMapLayer/@Area2D@63681" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63682" to="TileMapLayer/@Area2D@63682" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63683" to="TileMapLayer/@Area2D@63683" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63684" to="TileMapLayer/@Area2D@63684" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63685" to="TileMapLayer/@Area2D@63685" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63686" to="TileMapLayer/@Area2D@63686" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63687" to="TileMapLayer/@Area2D@63687" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63688" to="TileMapLayer/@Area2D@63688" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63689" to="TileMapLayer/@Area2D@63689" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63690" to="TileMapLayer/@Area2D@63690" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63691" to="TileMapLayer/@Area2D@63691" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63692" to="TileMapLayer/@Area2D@63692" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63693" to="TileMapLayer/@Area2D@63693" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63694" to="TileMapLayer/@Area2D@63694" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63695" to="TileMapLayer/@Area2D@63695" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63696" to="TileMapLayer/@Area2D@63696" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63697" to="TileMapLayer/@Area2D@63697" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63698" to="TileMapLayer/@Area2D@63698" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63699" to="TileMapLayer/@Area2D@63699" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63700" to="TileMapLayer/@Area2D@63700" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63701" to="TileMapLayer/@Area2D@63701" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63702" to="TileMapLayer/@Area2D@63702" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63703" to="TileMapLayer/@Area2D@63703" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63704" to="TileMapLayer/@Area2D@63704" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63705" to="TileMapLayer/@Area2D@63705" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63706" to="TileMapLayer/@Area2D@63706" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63707" to="TileMapLayer/@Area2D@63707" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63708" to="TileMapLayer/@Area2D@63708" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63709" to="TileMapLayer/@Area2D@63709" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63710" to="TileMapLayer/@Area2D@63710" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63711" to="TileMapLayer/@Area2D@63711" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63712" to="TileMapLayer/@Area2D@63712" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63713" to="TileMapLayer/@Area2D@63713" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63714" to="TileMapLayer/@Area2D@63714" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63715" to="TileMapLayer/@Area2D@63715" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63716" to="TileMapLayer/@Area2D@63716" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63717" to="TileMapLayer/@Area2D@63717" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63718" to="TileMapLayer/@Area2D@63718" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63719" to="TileMapLayer/@Area2D@63719" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63720" to="TileMapLayer/@Area2D@63720" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63721" to="TileMapLayer/@Area2D@63721" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63722" to="TileMapLayer/@Area2D@63722" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63723" to="TileMapLayer/@Area2D@63723" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63724" to="TileMapLayer/@Area2D@63724" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63725" to="TileMapLayer/@Area2D@63725" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63726" to="TileMapLayer/@Area2D@63726" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63727" to="TileMapLayer/@Area2D@63727" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63728" to="TileMapLayer/@Area2D@63728" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63729" to="TileMapLayer/@Area2D@63729" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63730" to="TileMapLayer/@Area2D@63730" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63731" to="TileMapLayer/@Area2D@63731" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63732" to="TileMapLayer/@Area2D@63732" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63733" to="TileMapLayer/@Area2D@63733" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63734" to="TileMapLayer/@Area2D@63734" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63735" to="TileMapLayer/@Area2D@63735" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63736" to="TileMapLayer/@Area2D@63736" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63737" to="TileMapLayer/@Area2D@63737" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63738" to="TileMapLayer/@Area2D@63738" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63739" to="TileMapLayer/@Area2D@63739" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63740" to="TileMapLayer/@Area2D@63740" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63741" to="TileMapLayer/@Area2D@63741" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63742" to="TileMapLayer/@Area2D@63742" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63743" to="TileMapLayer/@Area2D@63743" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63744" to="TileMapLayer/@Area2D@63744" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63745" to="TileMapLayer/@Area2D@63745" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63746" to="TileMapLayer/@Area2D@63746" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63747" to="TileMapLayer/@Area2D@63747" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63748" to="TileMapLayer/@Area2D@63748" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63749" to="TileMapLayer/@Area2D@63749" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63750" to="TileMapLayer/@Area2D@63750" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63751" to="TileMapLayer/@Area2D@63751" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63752" to="TileMapLayer/@Area2D@63752" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63753" to="TileMapLayer/@Area2D@63753" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63754" to="TileMapLayer/@Area2D@63754" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63755" to="TileMapLayer/@Area2D@63755" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63756" to="TileMapLayer/@Area2D@63756" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63757" to="TileMapLayer/@Area2D@63757" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63758" to="TileMapLayer/@Area2D@63758" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63759" to="TileMapLayer/@Area2D@63759" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63760" to="TileMapLayer/@Area2D@63760" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63761" to="TileMapLayer/@Area2D@63761" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63762" to="TileMapLayer/@Area2D@63762" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63763" to="TileMapLayer/@Area2D@63763" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63764" to="TileMapLayer/@Area2D@63764" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63765" to="TileMapLayer/@Area2D@63765" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63766" to="TileMapLayer/@Area2D@63766" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63767" to="TileMapLayer/@Area2D@63767" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63768" to="TileMapLayer/@Area2D@63768" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63769" to="TileMapLayer/@Area2D@63769" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/Coin" to="TileMapLayer/Coin" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63770" to="TileMapLayer/@Area2D@63770" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63771" to="TileMapLayer/@Area2D@63771" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63772" to="TileMapLayer/@Area2D@63772" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63773" to="TileMapLayer/@Area2D@63773" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63774" to="TileMapLayer/@Area2D@63774" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63775" to="TileMapLayer/@Area2D@63775" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63776" to="TileMapLayer/@Area2D@63776" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63777" to="TileMapLayer/@Area2D@63777" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63778" to="TileMapLayer/@Area2D@63778" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63779" to="TileMapLayer/@Area2D@63779" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63780" to="TileMapLayer/@Area2D@63780" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63781" to="TileMapLayer/@Area2D@63781" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63782" to="TileMapLayer/@Area2D@63782" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63783" to="TileMapLayer/@Area2D@63783" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63784" to="TileMapLayer/@Area2D@63784" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63785" to="TileMapLayer/@Area2D@63785" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63786" to="TileMapLayer/@Area2D@63786" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63787" to="TileMapLayer/@Area2D@63787" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63788" to="TileMapLayer/@Area2D@63788" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63790" to="TileMapLayer/@Area2D@63790" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63793" to="TileMapLayer/@Area2D@63793" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63794" to="TileMapLayer/@Area2D@63794" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63795" to="TileMapLayer/@Area2D@63795" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63796" to="TileMapLayer/@Area2D@63796" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63797" to="TileMapLayer/@Area2D@63797" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63798" to="TileMapLayer/@Area2D@63798" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63799" to="TileMapLayer/@Area2D@63799" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63800" to="TileMapLayer/@Area2D@63800" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63801" to="TileMapLayer/@Area2D@63801" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63802" to="TileMapLayer/@Area2D@63802" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63803" to="TileMapLayer/@Area2D@63803" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63804" to="TileMapLayer/@Area2D@63804" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63805" to="TileMapLayer/@Area2D@63805" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63806" to="TileMapLayer/@Area2D@63806" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63807" to="TileMapLayer/@Area2D@63807" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63808" to="TileMapLayer/@Area2D@63808" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63809" to="TileMapLayer/@Area2D@63809" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63810" to="TileMapLayer/@Area2D@63810" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63811" to="TileMapLayer/@Area2D@63811" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63812" to="TileMapLayer/@Area2D@63812" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63813" to="TileMapLayer/@Area2D@63813" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63814" to="TileMapLayer/@Area2D@63814" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63815" to="TileMapLayer/@Area2D@63815" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63816" to="TileMapLayer/@Area2D@63816" method="_on_body_entered"]
[connection signal="body_entered" from="TileMapLayer/@Area2D@63817" to="TileMapLayer/@Area2D@63817" method="_on_body_entered"]

View file

@ -2,6 +2,12 @@ extends Node2D
var hp : int = 6
@export var hp_bar : AnimatedSprite2D
var score : int = 0
var combo : int = 0 # number of coins collected without taking damage
var combo_level : int = 0 # 0-4, coins worth: 1, 2, 3, 4, 5
# combo levels: 10/20/30/40/50 (max)
@export var combo_colors : Array[Color]
@export var score_label : Label
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
@ -12,6 +18,16 @@ func _ready() -> void:
func _process(delta: float) -> void:
hp_bar.frame = hp
combo_level = clampi(floori(float(combo)/10),0,4)
Storyteller.current_coin_color = combo_colors[combo_level]
score_label.text = str(score)
func _on_lander_got_hit() -> void:
hp -= 1
combo = 0
func _on_lander_got_points() -> void:
score += combo_level + 1
combo += 1

View file

@ -12,9 +12,13 @@ config_version=5
config/name="Lunar"
run/main_scene="uid://hv07lm2tjwn4"
config/features=PackedStringArray("4.4", "GL Compatibility")
config/features=PackedStringArray("4.5", "GL Compatibility")
config/icon="uid://bd5oswedqnenh"
[autoload]
Storyteller="*res://storyteller.tscn"
[display]
window/size/viewport_width=640

View file

@ -6,3 +6,6 @@
- [ ] respawning?
- [ ] performace
- [ ] score pickups
https://www.pixil.art/art/a-spinning-coin-62d75ee92f3d11c

View file

@ -2,6 +2,8 @@ extends RigidBody2D
signal moved
signal got_hit
signal got_points
@export var thrust_power : float = 1
@export var turn_power : float = 1

13
storyteller.gd Normal file
View file

@ -0,0 +1,13 @@
extends Node
@export var current_coin_color : Color = Color.WHITE
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass

1
storyteller.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://2mwy5nx8gyex

6
storyteller.tscn Normal file
View file

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://cosmoon3infqy"]
[ext_resource type="Script" uid="uid://2mwy5nx8gyex" path="res://storyteller.gd" id="1_vv1jl"]
[node name="Storyteller" type="Node"]
script = ExtResource("1_vv1jl")