Initial commit: Godot 4.7 pixel platformer prototype
Player: move/jump (Space), test flight (F, debug builds only). Key: pickup, hold S to aim with live trajectory preview, release to throw, W to warp to the thrown key. Spring bounce. Spikes deal damage. 3-heart health, Z consumes a heal item for +1 heart and a 5s shield. HUD with hearts and item count. Death screen with fade-to-black and restart. Hidden passages. Assets: Kenney Pixel Platformer (CC0).
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/death_screen.gd" id="1_death"]
|
||||
|
||||
[sub_resource type="SystemFont" id="SystemFont_cjk"]
|
||||
font_names = PackedStringArray("Microsoft YaHei UI", "Microsoft YaHei", "SimHei", "Noto Sans CJK SC", "sans-serif")
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_button"]
|
||||
bg_color = Color(0.75, 0.2, 0.2, 1)
|
||||
corner_radius_top_left = 3
|
||||
corner_radius_top_right = 3
|
||||
corner_radius_bottom_right = 3
|
||||
corner_radius_bottom_left = 3
|
||||
content_margin_left = 18.0
|
||||
content_margin_top = 6.0
|
||||
content_margin_right = 18.0
|
||||
content_margin_bottom = 6.0
|
||||
|
||||
[node name="DeathScreen" type="CanvasLayer"]
|
||||
layer = 10
|
||||
script = ExtResource("1_death")
|
||||
|
||||
[node name="Fade" type="ColorRect" parent="."]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
mouse_filter = 2
|
||||
color = Color(0, 0, 0, 0)
|
||||
|
||||
[node name="Center" type="CenterContainer" parent="."]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="Center"]
|
||||
theme_override_constants/separation = 14
|
||||
|
||||
[node name="Title" type="Label" parent="Center/VBox"]
|
||||
theme_override_colors/font_color = Color(1, 0.36, 0.36, 1)
|
||||
theme_override_fonts/font = SubResource("SystemFont_cjk")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "你死了"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="RestartButton" type="Button" parent="Center/VBox"]
|
||||
theme_override_fonts/font = SubResource("SystemFont_cjk")
|
||||
theme_override_font_sizes/font_size = 14
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_button")
|
||||
text = "重新开始 (R)"
|
||||
@@ -0,0 +1,64 @@
|
||||
[gd_scene load_steps=6 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/tilesets/kenney_tiles_atlas.png" id="1_atlas"]
|
||||
[ext_resource type="Texture2D" path="res://assets/game/collectibles/coin_gold_round.png" id="2_coin"]
|
||||
[ext_resource type="Script" path="res://scripts/hud.gd" id="3_hud"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_heart_full"]
|
||||
atlas = ExtResource("1_atlas")
|
||||
region = Rect2(72, 36, 18, 18)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_heart_empty"]
|
||||
atlas = ExtResource("1_atlas")
|
||||
region = Rect2(108, 36, 18, 18)
|
||||
|
||||
[node name="HUD" type="CanvasLayer"]
|
||||
script = ExtResource("3_hud")
|
||||
full_heart_texture = SubResource("AtlasTexture_heart_full")
|
||||
empty_heart_texture = SubResource("AtlasTexture_heart_empty")
|
||||
|
||||
[node name="Heart1" type="TextureRect" parent="."]
|
||||
offset_left = 8.0
|
||||
offset_top = 6.0
|
||||
offset_right = 26.0
|
||||
offset_bottom = 24.0
|
||||
texture = SubResource("AtlasTexture_heart_full")
|
||||
|
||||
[node name="Heart2" type="TextureRect" parent="."]
|
||||
offset_left = 28.0
|
||||
offset_top = 6.0
|
||||
offset_right = 46.0
|
||||
offset_bottom = 24.0
|
||||
texture = SubResource("AtlasTexture_heart_full")
|
||||
|
||||
[node name="Heart3" type="TextureRect" parent="."]
|
||||
offset_left = 48.0
|
||||
offset_top = 6.0
|
||||
offset_right = 66.0
|
||||
offset_bottom = 24.0
|
||||
texture = SubResource("AtlasTexture_heart_full")
|
||||
|
||||
[node name="CoinIcon" type="TextureRect" parent="."]
|
||||
offset_left = 9.0
|
||||
offset_top = 27.0
|
||||
offset_right = 27.0
|
||||
offset_bottom = 45.0
|
||||
texture = ExtResource("2_coin")
|
||||
|
||||
[node name="CountLabel" type="Label" parent="."]
|
||||
offset_left = 30.0
|
||||
offset_top = 26.0
|
||||
offset_right = 110.0
|
||||
offset_bottom = 46.0
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_font_sizes/font_size = 12
|
||||
text = "x0"
|
||||
|
||||
[node name="ShieldLabel" type="Label" parent="."]
|
||||
offset_left = 8.0
|
||||
offset_top = 46.0
|
||||
offset_right = 160.0
|
||||
offset_bottom = 66.0
|
||||
theme_override_colors/font_color = Color(0.55, 0.9, 1, 1)
|
||||
theme_override_font_sizes/font_size = 12
|
||||
text = ""
|
||||
@@ -0,0 +1,218 @@
|
||||
[gd_scene format=4 uid="uid://j7jt48be856p"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://djmk0srfgyafe" path="res://assets/game/backgrounds/cloud_left.png" id="1_myku1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dptqmtay4plwp" path="res://assets/game/backgrounds/cloud_trees.png" id="2_m18yi"]
|
||||
[ext_resource type="Texture2D" uid="uid://dys7320ghojh6" path="res://assets/game/backgrounds/cloud_hills.png" id="3_c7dcd"]
|
||||
[ext_resource type="Texture2D" uid="uid://1b8hp0rm864l" path="res://assets/game/backgrounds/cloud_right.png" id="4_edvbp"]
|
||||
[ext_resource type="TileSet" uid="uid://dkowcf1ljh41j" path="res://assets/game/tilesets/kenney_terrain_tileset.tres" id="5_4etix"]
|
||||
[ext_resource type="PackedScene" uid="uid://c1u8k6ny02t4y" path="res://scenes/player.tscn" id="9_bauo3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazards/spikes_double.tscn" id="15_ycytw"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/interactables/spring_red.tscn" id="16_nih4k"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/collectibles/coin_gold_round.tscn" id="17_rmlt8"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/collectibles/key_gold.tscn" id="18_keygold"]
|
||||
[ext_resource type="Script" uid="uid://dxwa7fxghp3a2" path="res://scripts/hidden_passages.gd" id="19_hidden"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/hud.tscn" id="21_hud"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/death_screen.tscn" id="22_death"]
|
||||
|
||||
[node name="Main" type="Node2D" unique_id=2061129075]
|
||||
|
||||
[node name="HUD" parent="." instance=ExtResource("21_hud")]
|
||||
|
||||
[node name="DeathScreen" parent="." instance=ExtResource("22_death")]
|
||||
|
||||
[node name="Level" type="Node2D" parent="." unique_id=1678372922]
|
||||
|
||||
[node name="Background" type="Node2D" parent="Level" unique_id=702011751]
|
||||
|
||||
[node name="SkyColor" type="Polygon2D" parent="Level/Background" unique_id=22763597]
|
||||
z_index = -30
|
||||
color = Color(0.8509804, 0.9411765, 0.9372549, 1)
|
||||
polygon = PackedVector2Array(0, 0, 468, 0, 468, 130.0972, 468, 270, 0, 270)
|
||||
|
||||
[node name="CloudBand_01" type="Sprite2D" parent="Level/Background" unique_id=589633713]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(12, 150)
|
||||
texture = ExtResource("1_myku1")
|
||||
|
||||
[node name="CloudBand_02" type="Sprite2D" parent="Level/Background" unique_id=225493882]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(36, 150)
|
||||
texture = ExtResource("2_m18yi")
|
||||
|
||||
[node name="CloudBand_03" type="Sprite2D" parent="Level/Background" unique_id=646834403]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(60, 150)
|
||||
texture = ExtResource("3_c7dcd")
|
||||
|
||||
[node name="CloudBand_04" type="Sprite2D" parent="Level/Background" unique_id=1012727532]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(84, 150)
|
||||
texture = ExtResource("4_edvbp")
|
||||
|
||||
[node name="CloudBand_05" type="Sprite2D" parent="Level/Background" unique_id=1685434781]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(108, 150)
|
||||
texture = ExtResource("1_myku1")
|
||||
|
||||
[node name="CloudBand_06" type="Sprite2D" parent="Level/Background" unique_id=1425986424]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(132, 150)
|
||||
texture = ExtResource("2_m18yi")
|
||||
|
||||
[node name="CloudBand_07" type="Sprite2D" parent="Level/Background" unique_id=1333305041]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(156, 150)
|
||||
texture = ExtResource("3_c7dcd")
|
||||
|
||||
[node name="CloudBand_08" type="Sprite2D" parent="Level/Background" unique_id=55356860]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(180, 150)
|
||||
texture = ExtResource("4_edvbp")
|
||||
|
||||
[node name="CloudBand_09" type="Sprite2D" parent="Level/Background" unique_id=379152848]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(204, 150)
|
||||
texture = ExtResource("1_myku1")
|
||||
|
||||
[node name="CloudBand_10" type="Sprite2D" parent="Level/Background" unique_id=325990577]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(228, 150)
|
||||
texture = ExtResource("2_m18yi")
|
||||
|
||||
[node name="CloudBand_11" type="Sprite2D" parent="Level/Background" unique_id=1505438200]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(252, 150)
|
||||
texture = ExtResource("3_c7dcd")
|
||||
|
||||
[node name="CloudBand_12" type="Sprite2D" parent="Level/Background" unique_id=190709163]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(276, 150)
|
||||
texture = ExtResource("4_edvbp")
|
||||
|
||||
[node name="CloudBand_13" type="Sprite2D" parent="Level/Background" unique_id=349156114]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(300, 150)
|
||||
texture = ExtResource("1_myku1")
|
||||
|
||||
[node name="CloudBand_14" type="Sprite2D" parent="Level/Background" unique_id=1838903106]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(324, 150)
|
||||
texture = ExtResource("2_m18yi")
|
||||
|
||||
[node name="CloudBand_15" type="Sprite2D" parent="Level/Background" unique_id=169474301]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(348, 150)
|
||||
texture = ExtResource("3_c7dcd")
|
||||
|
||||
[node name="CloudBand_16" type="Sprite2D" parent="Level/Background" unique_id=156763289]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(372, 150)
|
||||
texture = ExtResource("4_edvbp")
|
||||
|
||||
[node name="CloudBand_17" type="Sprite2D" parent="Level/Background" unique_id=161240142]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(396, 150)
|
||||
texture = ExtResource("1_myku1")
|
||||
|
||||
[node name="CloudBand_18" type="Sprite2D" parent="Level/Background" unique_id=1823235224]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(420, 150)
|
||||
texture = ExtResource("2_m18yi")
|
||||
|
||||
[node name="CloudBand_19" type="Sprite2D" parent="Level/Background" unique_id=2092676382]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(444, 150)
|
||||
texture = ExtResource("3_c7dcd")
|
||||
|
||||
[node name="CloudBand_20" type="Sprite2D" parent="Level/Background" unique_id=124375716]
|
||||
z_index = -20
|
||||
texture_filter = 1
|
||||
position = Vector2(468, 150)
|
||||
texture = ExtResource("4_edvbp")
|
||||
|
||||
[node name="TerrainTileMaps" type="Node2D" parent="Level" unique_id=652327492]
|
||||
script = ExtResource("19_hidden")
|
||||
|
||||
[node name="TerrainBase" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=91115499]
|
||||
position = Vector2(9, 9)
|
||||
tile_map_data = PackedByteArray("AAAAAAAAAAAEAAUAAAABAAAAAAACAAYAAAACAAAAAAAEAAUAAAADAAAAAAAEAAUAAAAEAAAAAAACAAYAAAAFAAAAAAACAAYAAAAGAAAAAAADAAYAAAAAAAEAAAACAAYAAAABAAEAAAAEAAUAAAACAAEAAAAEAAUAAAADAAEAAAACAAYAAAAEAAEAAAACAAYAAAAFAAEAAAAEAAUAAAAGAAEAAAADAAYAAAAMAAEAAAARAAAAAAANAAEAAAASAAAAAAAOAAEAAAATAAAAAAAAAAIAAAAEAAUAAAABAAIAAAACAAYAAAACAAIAAAAEAAUAAAADAAIAAAACAAYAAAAEAAIAAAAEAAUAAAAFAAIAAAAEAAAAAAAGAAIAAAADAAcAAAALAAIAAAARAAAAAAAMAAIAAAASAAEAAAANAAIAAAASAAEAAAAOAAIAAAATAAEAAAAAAAMAAAACAAYAAAABAAMAAAACAAYAAAACAAMAAAAEAAAAAAADAAMAAAACAAcAAAAEAAMAAAACAAcAAAAFAAMAAAADAAcAAAALAAMAAAARAAIAAAAMAAMAAAASAAEAAAANAAMAAAASAAEAAAAOAAMAAAATAAEAAAAVAAMAAAANAAcAAAAWAAMAAAAPAAcAAAAAAAQAAAACAAYAAAABAAQAAAAEAAUAAAACAAQAAAADAAYAAAAEAAQAAAAJAAMAAAAMAAQAAAARAAEAAAANAAQAAAASAAEAAAAOAAQAAAATAAEAAAABAAUAAAACAAcAAAACAAUAAAADAAcAAAAEAAUAAAAJAAQAAAAMAAUAAAARAAIAAAANAAUAAAARAAQAAAAOAAUAAAATAAIAAAAWAAUAAAALAAUAAAABAAYAAAAFAAYAADAEAAYAAAAJAAQAAAAIAAYAAAAJAAEAAAANAAYAAAAQAAQAAAAQAAYAAAANAAcAAAARAAYAAAAOAAcAAAASAAYAAAAPAAcAAAAUAAYAAAALAAIAAAAWAAYAAAALAAYAAAAXAAYAAAAFAAcAAAACAAcAAAAJAAYAAAAEAAcAAAAJAAUAAAAGAAcAAAAIAAQAAAANAAcAAAAQAAUAAAAUAAcAAAALAAMAAAAVAAcAAAABAAUAAAAWAAcAAAACAAUAAAAXAAcAAAADAAUAAAAYAAcAAAAGAAUAAAAZAAcAAAAGAAUAAAACAAgAAAABAAEAAAADAAgAAAACAAEAAAAEAAgAAAACAAEAAAAFAAgAAAACAAEAAAAGAAgAAAADAAEAAAAKAAgAAAAHAAEAAAAMAAgAAAASAAUAAAANAAgAAAARAAUAAAAOAAgAAAATAAQAABAPAAgAAAASAAQAABAUAAgAAAALAAMAAAAVAAgAAAABAAYAAAAWAAgAAAACAAYAAAAXAAgAAAAEAAEAAAAYAAgAAAACAAUAAAAZAAgAAAACAAUAAAAAAAkAAAACAAEAAAABAAkAAAACAAEAAAACAAkAAAAFAAEAAAADAAkAAAACAAYAAAAEAAkAAAACAAYAAAAFAAkAAAACAAYAAAAGAAkAAAADAAYAAAANAAkAAAAQAAUAAAASAAkAAAAGAAcAAAAUAAkAAAABAAUAAAAVAAkAAAAFAAEAAAAWAAkAAAAEAAUAAAAXAAkAAAACAAYAAAAYAAkAAAACAAYAAAAZAAkAAAACAAYAAAAAAAoAAAAEAAUAAAABAAoAAAACAAYAAAACAAoAAAACAAYAAAADAAoAAAACAAYAAAAEAAoAAAAEAAUAAAAFAAoAAAACAAYAAAAGAAoAAAAEAAEAAAAHAAoAAAADAAEAAAAIAAoAAAAGAAUAAAANAAoAAAARAAYAAAAPAAoAAAAHAAYAAAARAAoAAAAKAAUAAAATAAoAAAAEAAcAAAAUAAoAAAABAAYAAAAVAAoAAAACAAYAAAAWAAoAAAACAAYAAAAXAAoAAAACAAYAAAAYAAoAAAACAAYAAAAZAAoAAAACAAYAAAAAAAsAAAAEAAUAAAABAAsAAAACAAYAAAACAAsAAAAEAAUAAAADAAsAAAAEAAUAAAAEAAsAAAACAAYAAAAFAAsAAAAEAAUAAAAGAAsAAAACAAYAAAAHAAsAAAAEAAEAAAAIAAsAAAADAAEAAAAKAAsAAAAEAAYAAAAMAAsAAAABAAEAAAANAAsAAAACAAEAAAAOAAsAAAACAAMAAAAPAAsAAAADAAMAAAARAAsAAAAKAAYAAAATAAsAAAABAAUAAAAUAAsAAAAFAAEAAAAVAAsAAAACAAYAAAAWAAsAAAAEAAUAAAAXAAsAAAAEAAUAAAAYAAsAAAAEAAUAAAAZAAsAAAACAAYAAAAAAAwAAAACAAYAAAABAAwAAAACAAYAAAACAAwAAAACAAYAAAADAAwAAAAEAAUAAAAEAAwAAAACAAYAAAAFAAwAAAAEAAUAAAAGAAwAAAAEAAUAAAAHAAwAAAAEAAUAAAAIAAwAAAAEAAEAAAAJAAwAAAACAAEAAAAKAAwAAAACAAEAAAALAAwAAAACAAEAAAAMAAwAAAAFAAEAAAANAAwAAAAEAAUAAAAOAAwAAAAEAAUAAAAPAAwAAAAEAAEAAAAQAAwAAAACAAMAAAARAAwAAAACAAMAAAASAAwAAAACAAMAAAATAAwAAAAFAAEAAAAUAAwAAAACAAYAAAAVAAwAAAAEAAUAAAAWAAwAAAACAAYAAAAXAAwAAAAEAAUAAAAYAAwAAAAEAAUAAAAZAAwAAAACAAYAAAAAAA0AAAAEAAUAAAABAA0AAAACAAYAAAACAA0AAAAEAAUAAAADAA0AAAACAAYAAAAEAA0AAAACAAYAAAAFAA0AAAAEAAUAAAAGAA0AAAACAAYAAAAHAA0AAAACAAYAAAAIAA0AAAAEAAUAAAAJAA0AAAACAAYAAAAKAA0AAAAEAAUAAAALAA0AAAAEAAUAAAAMAA0AAAACAAYAAAANAA0AAAACAAYAAAAOAA0AAAAEAAUAAAAPAA0AAAAEAAUAAAAQAA0AAAAEAAUAAAARAA0AAAACAAYAAAASAA0AAAACAAYAAAATAA0AAAAEAAUAAAAUAA0AAAACAAYAAAAVAA0AAAACAAYAAAAWAA0AAAACAAYAAAAXAA0AAAAEAAUAAAAYAA0AAAACAAYAAAAZAA0AAAAEAAUAAAAAAA4AAAACAAYAAAABAA4AAAACAAYAAAACAA4AAAAEAAUAAAADAA4AAAACAAYAAAAEAA4AAAAEAAUAAAAFAA4AAAACAAYAAAAGAA4AAAAEAAUAAAAHAA4AAAAEAAUAAAAIAA4AAAAEAAUAAAAJAA4AAAAEAAUAAAAKAA4AAAAEAAUAAAALAA4AAAAEAAUAAAAMAA4AAAACAAYAAAANAA4AAAACAAYAAAAOAA4AAAACAAYAAAAPAA4AAAACAAYAAAAQAA4AAAAEAAUAAAARAA4AAAACAAYAAAASAA4AAAACAAYAAAATAA4AAAACAAYAAAAUAA4AAAACAAYAAAAVAA4AAAACAAYAAAAWAA4AAAAEAAUAAAAXAA4AAAAEAAUAAAAYAA4AAAACAAYAAAAZAA4AAAAEAAUAAAD//wkAAAACAAEAAAD//woAAAAEAAAAAAD//wsAAAAEAAAAAAD//wwAAAAFAAAAAAD//wQAAAAFAAAAAAD//wIAAAAFAAAAAAD//wMAAAAFAAAAAAD//wEAAAAFAAAAAAD//wAAAAAFAAAAAAAAAAUAAAACAAcAAAD//wUAAAACAAcAAAD//w0AAAAEAAEAAAD//w4AAAAEAAEAAAD//wYAAAAJAAAAAAD//wcAAAAJAAAAAAD//wgAAAAJAAAAAAAKAAkAAAAJAAEAAAAVAAIAAAAKAAAAAAA=")
|
||||
tile_set = ExtResource("5_4etix")
|
||||
|
||||
[node name="TerrainDetailsA" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=1513560262]
|
||||
z_index = 1
|
||||
position = Vector2(9, 9)
|
||||
tile_map_data = PackedByteArray("AAAAAAAAAAACAAYAAAABAAAAAAADAAYAAAAAAAEAAAACAAYAAAABAAEAAAADAAYAAAAAAAIAAAACAAcAAAABAAIAAAADAAcAAAAOAAIAAAARAAAAAAAPAAIAAAASAAAAAAAQAAIAAAATAAAAAAABAAMAAAAEAAYAADAKAAMAAAARAAAAAAALAAMAAAASAAAAAAAMAAMAAAATAAAAAAAOAAMAAAARAAEAAAAPAAMAAAASAAEAAAAQAAMAAAATAAEAAAAKAAQAAAARAAIAAAALAAQAAAASAAIAAAAMAAQAAAATAAIAAAAOAAQAAAARAAIAAAAPAAQAAAASAAIAAAAQAAQAAAATAAIAAAACAAoAAAAIAAYAAAAWAAoAAAAEAAcAAAABAAsAAAABAAEAAAACAAsAAAACAAEAAAADAAsAAAADAAEAAAAVAAsAAAABAAUAAAAWAAsAAAACAAUAAAAXAAsAAAADAAUAAAABAAwAAAABAAYAAAACAAwAAAACAAYAAAADAAwAAAADAAYAAAAOAAwAAAAEAAYAAAAVAAwAAAABAAYAAAAWAAwAAAAEAAUAAAAXAAwAAAADAAYAAAABAA0AAAABAAYAAAACAA0AAAAEAAUAAAADAA0AAAADAAYAAAANAA0AAAABAAMAAAAOAA0AAAACAAMAAAAPAA0AAAACAAMAAAAQAA0AAAADAAMAAAAVAA0AAAABAAYAAAAWAA0AAAACAAYAAAAXAA0AAAADAAYAAAABAA4AAAABAAYAAAACAA4AAAACAAYAAAADAA4AAAADAAYAAAANAA4AAAABAAYAAAAOAA4AAAAEAAUAAAAPAA4AAAACAAYAAAAQAA4AAAADAAYAAAAVAA4AAAABAAYAAAAWAA4AAAAEAAUAAAAXAA4AAAADAAYAAAA=")
|
||||
tile_set = ExtResource("5_4etix")
|
||||
|
||||
[node name="TerrainDetailsB" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=478648603]
|
||||
z_index = 2
|
||||
position = Vector2(9, 9)
|
||||
tile_map_data = PackedByteArray("AAAFAAsAAAAFAAYAAAADAAwAAAABAAEAAAAEAAwAAAACAAEAAAAFAAwAAAACAAEAAAAGAAwAAAADAAEAAAADAA0AAAABAAYAAAAEAA0AAAACAAYAAAAFAA0AAAAEAAUAAAAGAA0AAAADAAYAAAADAA4AAAABAAYAAAAEAA4AAAAEAAUAAAAFAA4AAAACAAYAAAAGAA4AAAADAAYAAAA=")
|
||||
tile_set = ExtResource("5_4etix")
|
||||
|
||||
[node name="ActorsAndCharacters" type="Node2D" parent="Level" unique_id=2036761714]
|
||||
|
||||
[node name="Player" parent="Level/ActorsAndCharacters" unique_id=1343528246 instance=ExtResource("9_bauo3")]
|
||||
z_index = 10
|
||||
position = Vector2(102, 132)
|
||||
rotation = -3.1415927
|
||||
scale = Vector2(1, -1)
|
||||
|
||||
[node name="PrefabInstances" type="Node2D" parent="Level" unique_id=2013556771]
|
||||
|
||||
[node name="Structures" type="Node2D" parent="Level/PrefabInstances" unique_id=1811607442]
|
||||
|
||||
[node name="Hazards" type="Node2D" parent="Level/PrefabInstances" unique_id=888595377]
|
||||
|
||||
[node name="Spikes_01" parent="Level/PrefabInstances/Hazards" unique_id=1025977450 instance=ExtResource("15_ycytw")]
|
||||
z_index = 5
|
||||
position = Vector2(270, 216)
|
||||
|
||||
[node name="Spikes_02" parent="Level/PrefabInstances/Hazards" unique_id=1262276584 instance=ExtResource("15_ycytw")]
|
||||
z_index = 5
|
||||
position = Vector2(216, 216)
|
||||
|
||||
[node name="Interactables" type="Node2D" parent="Level/PrefabInstances" unique_id=769532488]
|
||||
|
||||
[node name="SpringRed_01" parent="Level/PrefabInstances/Interactables" unique_id=34192139 instance=ExtResource("16_nih4k")]
|
||||
z_index = 5
|
||||
position = Vector2(325, 108)
|
||||
|
||||
[node name="Collectibles" type="Node2D" parent="Level/PrefabInstances" unique_id=2086540192]
|
||||
|
||||
[node name="CoinGoldRound_01" parent="Level/PrefabInstances/Collectibles" unique_id=926105584 instance=ExtResource("17_rmlt8")]
|
||||
z_index = 5
|
||||
position = Vector2(351, 27)
|
||||
|
||||
[node name="CoinGoldRound_02" parent="Level/PrefabInstances/Collectibles" unique_id=1674416025 instance=ExtResource("17_rmlt8")]
|
||||
z_index = 5
|
||||
position = Vector2(333, 45)
|
||||
|
||||
[node name="CoinGoldRound_03" parent="Level/PrefabInstances/Collectibles" unique_id=1087706364 instance=ExtResource("17_rmlt8")]
|
||||
z_index = 5
|
||||
position = Vector2(315, 63)
|
||||
|
||||
[node name="KeyGold_01" parent="Level/PrefabInstances/Collectibles" unique_id=2060959680 instance=ExtResource("18_keygold")]
|
||||
z_index = 5
|
||||
position = Vector2(198, 162)
|
||||
|
||||
[node name="Signs" type="Node2D" parent="Level/PrefabInstances" unique_id=113197076]
|
||||
@@ -0,0 +1,29 @@
|
||||
[gd_scene format=3 uid="uid://c1u8k6ny02t4y"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cgkn1cd8uhunb" path="res://assets/game/characters/player_green_idle.png" id="1_character"]
|
||||
[ext_resource type="Script" uid="uid://b0gltif7vthau" path="res://scripts/player_controller.gd" id="1_g2els"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_player"]
|
||||
radius = 5.0
|
||||
height = 17.0
|
||||
|
||||
[node name="Player" type="CharacterBody2D" unique_id=2098904787]
|
||||
collision_layer = 2
|
||||
script = ExtResource("1_g2els")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=921388463]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_character")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=151099089]
|
||||
position = Vector2(0, 2)
|
||||
shape = SubResource("CapsuleShape2D_player")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
zoom = Vector2(2, 2)
|
||||
limit_left = 0
|
||||
limit_top = 0
|
||||
limit_right = 468
|
||||
limit_bottom = 270
|
||||
position_smoothing_enabled = true
|
||||
position_smoothing_speed = 6.0
|
||||
@@ -0,0 +1,19 @@
|
||||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/collectibles/coin_gold_round.png" id="1_texture"]
|
||||
[ext_resource type="Script" path="res://scripts/collectible.gd" id="2_collectible"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="Shape_coin"]
|
||||
radius = 5.0
|
||||
|
||||
[node name="CoinGoldRound" type="Area2D" groups=["collectible"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_collectible")
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_texture")
|
||||
|
||||
[node name="PickupArea" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("Shape_coin")
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/collectibles/coin_gold_thin.png" id="1_texture"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_coin"]
|
||||
size = Vector2(7, 13)
|
||||
|
||||
[node name="CoinGoldThin" type="Area2D" groups=["collectible"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 2
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_texture")
|
||||
|
||||
[node name="PickupArea" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("Shape_coin")
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/collectibles/gem_blue.png" id="1_texture"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="Shape_gem"]
|
||||
radius = 6.0
|
||||
|
||||
[node name="GemBlue" type="Area2D" groups=["collectible"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 2
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_texture")
|
||||
|
||||
[node name="PickupArea" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("Shape_gem")
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
[gd_scene load_steps=5 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/tilesets/kenney_tiles_atlas.png" id="1_atlas"]
|
||||
[ext_resource type="Script" path="res://scripts/key.gd" id="2_key"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_key"]
|
||||
atlas = ExtResource("1_atlas")
|
||||
region = Rect2(126, 18, 18, 18)
|
||||
|
||||
[sub_resource type="CircleShape2D" id="Shape_pickup"]
|
||||
radius = 7.0
|
||||
|
||||
[node name="KeyGold" type="Area2D"]
|
||||
collision_layer = 16
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_key")
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = SubResource("AtlasTexture_key")
|
||||
|
||||
[node name="PickupArea" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("Shape_pickup")
|
||||
@@ -0,0 +1,35 @@
|
||||
[gd_scene load_steps=6 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/vegetation/tree_canopy_left.png" id="1_left"]
|
||||
[ext_resource type="Texture2D" path="res://assets/game/vegetation/tree_canopy_middle.png" id="2_middle"]
|
||||
[ext_resource type="Texture2D" path="res://assets/game/vegetation/tree_canopy_right.png" id="3_right"]
|
||||
[ext_resource type="Texture2D" path="res://assets/game/vegetation/tree_trunk.png" id="4_trunk"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_trunk"]
|
||||
size = Vector2(14, 18)
|
||||
|
||||
[node name="TreeSmall" type="StaticBody2D"]
|
||||
collision_layer = 1
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CanopyLeft" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
position = Vector2(-18, -18)
|
||||
texture = ExtResource("1_left")
|
||||
|
||||
[node name="CanopyMiddle" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
position = Vector2(0, -18)
|
||||
texture = ExtResource("2_middle")
|
||||
|
||||
[node name="CanopyRight" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
position = Vector2(18, -18)
|
||||
texture = ExtResource("3_right")
|
||||
|
||||
[node name="Trunk" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("4_trunk")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("Shape_trunk")
|
||||
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=4 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/obstacles/spikes_double.png" id="1_texture"]
|
||||
[ext_resource type="Script" path="res://scripts/hazard.gd" id="2_hazard"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_spikes"]
|
||||
size = Vector2(16, 8)
|
||||
|
||||
[node name="SpikesDouble" type="Area2D" groups=["hazard"]]
|
||||
collision_layer = 4
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_hazard")
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_texture")
|
||||
|
||||
[node name="DetectionArea" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("Shape_spikes")
|
||||
@@ -0,0 +1,30 @@
|
||||
[gd_scene load_steps=5 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/interactables/spring_red.png" id="1_texture"]
|
||||
[ext_resource type="Script" path="res://scripts/spring.gd" id="2_spring"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_spring_body"]
|
||||
size = Vector2(16, 10)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_spring_trigger"]
|
||||
size = Vector2(18, 14)
|
||||
|
||||
[node name="SpringRed" type="StaticBody2D" groups=["spring"]]
|
||||
collision_layer = 1
|
||||
collision_mask = 0
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_texture")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 3)
|
||||
shape = SubResource("Shape_spring_body")
|
||||
|
||||
[node name="BounceArea" type="Area2D" parent="."]
|
||||
collision_layer = 8
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_spring")
|
||||
|
||||
[node name="TriggerShape" type="CollisionShape2D" parent="BounceArea"]
|
||||
shape = SubResource("Shape_spring_trigger")
|
||||
@@ -0,0 +1,17 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/signs/direction_sign_left.png" id="1_texture"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_sign"]
|
||||
size = Vector2(18, 18)
|
||||
|
||||
[node name="DirectionSignLeft" type="StaticBody2D"]
|
||||
collision_layer = 1
|
||||
collision_mask = 0
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_texture")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("Shape_sign")
|
||||
@@ -0,0 +1,17 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/signs/direction_sign_right.png" id="1_texture"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_sign"]
|
||||
size = Vector2(18, 18)
|
||||
|
||||
[node name="DirectionSignRight" type="StaticBody2D"]
|
||||
collision_layer = 1
|
||||
collision_mask = 0
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_texture")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("Shape_sign")
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/structures/crate.png" id="1_texture"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_crate"]
|
||||
size = Vector2(18, 18)
|
||||
|
||||
[node name="Crate" type="StaticBody2D"]
|
||||
collision_layer = 1
|
||||
collision_mask = 0
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = ExtResource("1_texture")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("Shape_crate")
|
||||
|
||||
Reference in New Issue
Block a user