From 0df4295b7c8baf663fa650f372f3e8a8fab58d69 Mon Sep 17 00:00:00 2001 From: OddlyTimbot Date: Mon, 9 Dec 2024 21:06:27 -0500 Subject: [PATCH] terrains, physics layer, parallax background, camera offset --- .../background/forestbackground.png | Bin 0 -> 7521 bytes .../background/forestbackground.png.import | 34 ++ .../environment/background/midground.png | Bin 0 -> 6676 bytes .../background/midground.png.import | 34 ++ .../environment/background/stratosphere.png | Bin 0 -> 655 bytes .../background/stratosphere.png.import | 34 ++ novembergame/scenes/character.tscn | 1 + novembergame/scenes/game.tscn | 387 ++++++++++++++++-- 8 files changed, 456 insertions(+), 34 deletions(-) create mode 100644 novembergame/assets/graphics/environment/background/forestbackground.png create mode 100644 novembergame/assets/graphics/environment/background/forestbackground.png.import create mode 100644 novembergame/assets/graphics/environment/background/midground.png create mode 100644 novembergame/assets/graphics/environment/background/midground.png.import create mode 100644 novembergame/assets/graphics/environment/background/stratosphere.png create mode 100644 novembergame/assets/graphics/environment/background/stratosphere.png.import diff --git a/novembergame/assets/graphics/environment/background/forestbackground.png b/novembergame/assets/graphics/environment/background/forestbackground.png new file mode 100644 index 0000000000000000000000000000000000000000..975c185ca0a69fb6d672f68b36f8df4fe31d28b9 GIT binary patch literal 7521 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 literal 0 HcmV?d00001 diff --git a/novembergame/assets/graphics/environment/background/stratosphere.png.import b/novembergame/assets/graphics/environment/background/stratosphere.png.import new file mode 100644 index 0000000..360d6aa --- /dev/null +++ b/novembergame/assets/graphics/environment/background/stratosphere.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvdu6wo2vq2ka" +path="res://.godot/imported/stratosphere.png-71099beb045096a2ad82d28a69f3a6af.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/environment/background/stratosphere.png" +dest_files=["res://.godot/imported/stratosphere.png-71099beb045096a2ad82d28a69f3a6af.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/novembergame/scenes/character.tscn b/novembergame/scenes/character.tscn index fb0b18c..691ab71 100644 --- a/novembergame/scenes/character.tscn +++ b/novembergame/scenes/character.tscn @@ -203,3 +203,4 @@ autoplay = "run" [node name="Camera2D" type="Camera2D" parent="."] position = Vector2(-1, 0) +offset = Vector2(0, -40) diff --git a/novembergame/scenes/game.tscn b/novembergame/scenes/game.tscn index 787812f..89211c7 100644 --- a/novembergame/scenes/game.tscn +++ b/novembergame/scenes/game.tscn @@ -1,68 +1,379 @@ -[gd_scene load_steps=11 format=4 uid="uid://cmh68gsfunmwa"] +[gd_scene load_steps=14 format=4 uid="uid://cmh68gsfunmwa"] +[ext_resource type="Texture2D" uid="uid://vwe7rit3r0ho" path="res://assets/graphics/environment/background/forestbackground.png" id="1_6g8gi"] [ext_resource type="Texture2D" uid="uid://bvbxh8nxgekny" path="res://assets/graphics/environment/terrain/Terrain (32x32).png" id="1_n0y6d"] [ext_resource type="Script" path="res://scripts/scene_manager.gd" id="1_obwxw"] [ext_resource type="PackedScene" uid="uid://cjqhmd3158nb7" path="res://scenes/character.tscn" id="1_p32ky"] +[ext_resource type="Texture2D" uid="uid://cvdu6wo2vq2ka" path="res://assets/graphics/environment/background/stratosphere.png" id="2_fg804"] +[ext_resource type="Texture2D" uid="uid://ceoscwflxdsej" path="res://assets/graphics/environment/background/midground.png" id="2_nbj6c"] [ext_resource type="Script" path="res://scripts/trigger.gd" id="2_tsnf5"] [ext_resource type="PackedScene" uid="uid://dm71h7adhhf8u" path="res://scenes/box.tscn" id="3_pi0u1"] +[sub_resource type="TileMapPattern" id="TileMapPattern_mkieg"] +tile_data = PackedInt32Array(0, 262144, 0, 65536, 262144, 1, 131072, 262144, 1, 196608, 262144, 2) + [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ih8kf"] texture = ExtResource("1_n0y6d") texture_region_size = Vector2i(32, 32) 0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:0/0/terrains_peering_bit/right_side = 0 +0:0/0/terrains_peering_bit/bottom_right_corner = 0 +0:0/0/terrains_peering_bit/bottom_side = 0 1:0/0 = 0 +1:0/0/terrain_set = 0 +1:0/0/terrain = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:0/0/terrains_peering_bit/right_side = 0 +1:0/0/terrains_peering_bit/bottom_right_corner = 0 +1:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0/terrains_peering_bit/bottom_left_corner = 0 +1:0/0/terrains_peering_bit/left_side = 0 2:0/0 = 0 +2:0/0/terrain_set = 0 +2:0/0/terrain = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:0/0/terrains_peering_bit/bottom_side = 0 +2:0/0/terrains_peering_bit/bottom_left_corner = 0 +2:0/0/terrains_peering_bit/left_side = 0 4:0/0 = 0 +4:0/0/terrain_set = 0 +4:0/0/terrain = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:0/0/terrains_peering_bit/bottom_side = 0 6:0/0 = 0 +6:0/0/terrain_set = 0 +6:0/0/terrain = 0 +6:0/0/terrains_peering_bit/right_side = 0 +6:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0/terrains_peering_bit/bottom_left_corner = 0 +6:0/0/terrains_peering_bit/left_side = 0 +6:0/0/terrains_peering_bit/top_left_corner = 0 +6:0/0/terrains_peering_bit/top_side = 0 +6:0/0/terrains_peering_bit/top_right_corner = 0 7:0/0 = 0 +7:0/0/terrain_set = 0 +7:0/0/terrain = 0 +7:0/0/terrains_peering_bit/right_side = 0 +7:0/0/terrains_peering_bit/bottom_right_corner = 0 +7:0/0/terrains_peering_bit/bottom_side = 0 +7:0/0/terrains_peering_bit/left_side = 0 +7:0/0/terrains_peering_bit/top_left_corner = 0 +7:0/0/terrains_peering_bit/top_side = 0 +7:0/0/terrains_peering_bit/top_right_corner = 0 9:0/0 = 0 +9:0/0/terrain_set = 0 +9:0/0/terrain = 0 +9:0/0/terrains_peering_bit/right_side = 0 +9:0/0/terrains_peering_bit/bottom_right_corner = 0 +9:0/0/terrains_peering_bit/bottom_side = 0 +9:0/0/terrains_peering_bit/bottom_left_corner = 0 +9:0/0/terrains_peering_bit/left_side = 0 +9:0/0/terrains_peering_bit/top_side = 0 10:0/0 = 0 +10:0/0/terrain_set = 0 +10:0/0/terrain = 0 +10:0/0/terrains_peering_bit/right_side = 0 +10:0/0/terrains_peering_bit/bottom_side = 0 +10:0/0/terrains_peering_bit/bottom_left_corner = 0 +10:0/0/terrains_peering_bit/left_side = 0 +10:0/0/terrains_peering_bit/top_left_corner = 0 +10:0/0/terrains_peering_bit/top_side = 0 12:0/0 = 0 +12:0/0/terrain_set = 0 +12:0/0/terrain = 0 +12:0/0/terrains_peering_bit/bottom_right_corner = 0 +12:0/0/terrains_peering_bit/bottom_side = 0 +12:0/0/terrains_peering_bit/top_side = 0 13:0/0 = 0 +13:0/0/terrain_set = 0 +13:0/0/terrain = 0 +13:0/0/terrains_peering_bit/bottom_side = 0 +13:0/0/terrains_peering_bit/bottom_left_corner = 0 +13:0/0/terrains_peering_bit/top_side = 0 15:0/0 = 0 +15:0/0/terrain_set = 0 +15:0/0/terrain = 0 +15:0/0/terrains_peering_bit/right_side = 0 +15:0/0/terrains_peering_bit/bottom_side = 0 +15:0/0/terrains_peering_bit/top_side = 0 0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:1/0/terrains_peering_bit/right_side = 0 +0:1/0/terrains_peering_bit/bottom_right_corner = 0 +0:1/0/terrains_peering_bit/bottom_side = 0 +0:1/0/terrains_peering_bit/top_side = 0 +0:1/0/terrains_peering_bit/top_right_corner = 0 1:1/0 = 0 +1:1/0/terrain_set = 0 +1:1/0/terrains_peering_bit/right_side = 0 +1:1/0/terrains_peering_bit/bottom_right_corner = 0 +1:1/0/terrains_peering_bit/bottom_side = 0 +1:1/0/terrains_peering_bit/bottom_left_corner = 0 +1:1/0/terrains_peering_bit/left_side = 0 +1:1/0/terrains_peering_bit/top_left_corner = 0 +1:1/0/terrains_peering_bit/top_side = 0 +1:1/0/terrains_peering_bit/top_right_corner = 0 2:1/0 = 0 +2:1/0/terrain_set = 0 +2:1/0/terrain = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:1/0/terrains_peering_bit/bottom_side = 0 +2:1/0/terrains_peering_bit/bottom_left_corner = 0 +2:1/0/terrains_peering_bit/left_side = 0 +2:1/0/terrains_peering_bit/top_left_corner = 0 +2:1/0/terrains_peering_bit/top_side = 0 4:1/0 = 0 +4:1/0/terrain_set = 0 +4:1/0/terrain = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:1/0/terrains_peering_bit/bottom_side = 0 +4:1/0/terrains_peering_bit/top_side = 0 6:1/0 = 0 +6:1/0/terrain_set = 0 +6:1/0/terrain = 0 +6:1/0/terrains_peering_bit/bottom_right_corner = 0 +6:1/0/terrains_peering_bit/bottom_side = 0 +6:1/0/terrains_peering_bit/bottom_left_corner = 0 +6:1/0/terrains_peering_bit/left_side = 0 +6:1/0/terrains_peering_bit/top_left_corner = 0 +6:1/0/terrains_peering_bit/top_side = 0 7:1/0 = 0 +7:1/0/terrain_set = 0 +7:1/0/terrain = 0 +7:1/0/terrains_peering_bit/right_side = 0 +7:1/0/terrains_peering_bit/bottom_right_corner = 0 +7:1/0/terrains_peering_bit/bottom_side = 0 +7:1/0/terrains_peering_bit/bottom_left_corner = 0 +7:1/0/terrains_peering_bit/top_side = 0 +7:1/0/terrains_peering_bit/top_right_corner = 0 9:1/0 = 0 +9:1/0/terrain_set = 0 +9:1/0/terrain = 0 +9:1/0/terrains_peering_bit/right_side = 0 +9:1/0/terrains_peering_bit/bottom_right_corner = 0 +9:1/0/terrains_peering_bit/bottom_side = 0 +9:1/0/terrains_peering_bit/top_side = 0 +9:1/0/terrains_peering_bit/top_right_corner = 0 10:1/0 = 0 +10:1/0/terrain_set = 0 +10:1/0/terrain = 0 +10:1/0/terrains_peering_bit/right_side = 0 +10:1/0/terrains_peering_bit/bottom_side = 0 +10:1/0/terrains_peering_bit/left_side = 0 +10:1/0/terrains_peering_bit/top_left_corner = 0 +10:1/0/terrains_peering_bit/top_side = 0 +10:1/0/terrains_peering_bit/top_right_corner = 0 12:1/0 = 0 +12:1/0/terrain_set = 0 +12:1/0/terrain = 0 +12:1/0/terrains_peering_bit/right_side = 0 +12:1/0/terrains_peering_bit/bottom_side = 0 +12:1/0/terrains_peering_bit/top_side = 0 +12:1/0/terrains_peering_bit/top_right_corner = 0 13:1/0 = 0 +13:1/0/terrain_set = 0 +13:1/0/terrain = 0 +13:1/0/terrains_peering_bit/bottom_side = 0 +13:1/0/terrains_peering_bit/left_side = 0 +13:1/0/terrains_peering_bit/top_left_corner = 0 +13:1/0/terrains_peering_bit/top_side = 0 15:1/0 = 0 +15:1/0/terrain_set = 0 +15:1/0/terrain = 0 +15:1/0/terrains_peering_bit/right_side = 0 +15:1/0/terrains_peering_bit/bottom_side = 0 +15:1/0/terrains_peering_bit/bottom_left_corner = 0 +15:1/0/terrains_peering_bit/top_side = 0 +15:1/0/terrains_peering_bit/top_right_corner = 0 16:1/0 = 0 +16:1/0/terrain_set = 0 +16:1/0/terrain = 0 +16:1/0/terrains_peering_bit/bottom_right_corner = 0 +16:1/0/terrains_peering_bit/bottom_side = 0 +16:1/0/terrains_peering_bit/left_side = 0 +16:1/0/terrains_peering_bit/top_left_corner = 0 +16:1/0/terrains_peering_bit/top_side = 0 0:2/0 = 0 +0:2/0/terrain_set = 0 +0:2/0/terrain = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:2/0/terrains_peering_bit/right_side = 0 +0:2/0/terrains_peering_bit/top_side = 0 +0:2/0/terrains_peering_bit/top_right_corner = 0 1:2/0 = 0 +1:2/0/terrain_set = 0 +1:2/0/terrain = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:2/0/terrains_peering_bit/right_side = 0 +1:2/0/terrains_peering_bit/left_side = 0 +1:2/0/terrains_peering_bit/top_left_corner = 0 +1:2/0/terrains_peering_bit/top_side = 0 +1:2/0/terrains_peering_bit/top_right_corner = 0 2:2/0 = 0 +2:2/0/terrain_set = 0 +2:2/0/terrain = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:2/0/terrains_peering_bit/left_side = 0 +2:2/0/terrains_peering_bit/top_left_corner = 0 +2:2/0/terrains_peering_bit/top_side = 0 4:2/0 = 0 +4:2/0/terrain_set = 0 +4:2/0/terrain = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:2/0/terrains_peering_bit/top_side = 0 6:3/0 = 0 +6:3/0/terrain_set = 0 +6:3/0/terrain = 0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 0, -16, 0, 16, -16, 16) +6:3/0/terrains_peering_bit/right_side = 0 +6:3/0/terrains_peering_bit/bottom_side = 0 +6:3/0/terrains_peering_bit/top_side = 0 +6:3/0/terrains_peering_bit/top_right_corner = 0 7:3/0 = 0 +7:3/0/terrain_set = 0 +7:3/0/terrain = 0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(2.75, -16, 16, -16, 16, 16, 3, 16) +7:3/0/terrains_peering_bit/bottom_side = 0 +7:3/0/terrains_peering_bit/left_side = 0 +7:3/0/terrains_peering_bit/top_left_corner = 0 +7:3/0/terrains_peering_bit/top_side = 0 9:3/0 = 0 +9:3/0/terrain_set = 0 +9:3/0/terrain = 0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -0.25, -16, -0.5) +9:3/0/terrains_peering_bit/right_side = 0 +9:3/0/terrains_peering_bit/bottom_side = 0 +9:3/0/terrains_peering_bit/bottom_left_corner = 0 +9:3/0/terrains_peering_bit/left_side = 0 10:3/0 = 0 +10:3/0/terrain_set = 0 +10:3/0/terrain = 0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -0.25, -16, -0.5) +10:3/0/terrains_peering_bit/right_side = 0 +10:3/0/terrains_peering_bit/bottom_right_corner = 0 +10:3/0/terrains_peering_bit/bottom_side = 0 +10:3/0/terrains_peering_bit/left_side = 0 12:3/0 = 0 +12:3/0/terrain_set = 0 +12:3/0/terrain = 0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, -0.25, -16, -0.25, 16, -16, 16) +12:3/0/terrains_peering_bit/right_side = 0 +12:3/0/terrains_peering_bit/bottom_side = 0 +12:3/0/terrains_peering_bit/top_side = 0 13:3/0 = 0 +13:3/0/terrain_set = 0 +13:3/0/terrain = 0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -0.5, -16, -0.75) +13:3/0/terrains_peering_bit/right_side = 0 +13:3/0/terrains_peering_bit/bottom_side = 0 +13:3/0/terrains_peering_bit/left_side = 0 15:3/0 = 0 +15:3/0/terrain_set = 0 +15:3/0/terrain = 0 +15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:3/0/terrains_peering_bit/right_side = 0 +15:3/0/terrains_peering_bit/bottom_side = 0 16:3/0 = 0 +16:3/0/terrain_set = 0 +16:3/0/terrain = 0 +16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +16:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0/terrains_peering_bit/left_side = 0 0:4/0 = 0 +0:4/0/terrain_set = 0 +0:4/0/terrain = 0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:4/0/terrains_peering_bit/right_side = 0 1:4/0 = 0 +1:4/0/terrain_set = 0 +1:4/0/terrain = 0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:4/0/terrains_peering_bit/right_side = 0 +1:4/0/terrains_peering_bit/left_side = 0 2:4/0 = 0 +2:4/0/terrain_set = 0 +2:4/0/terrain = 0 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:4/0/terrains_peering_bit/left_side = 0 4:4/0 = 0 +4:4/0/terrain_set = 0 +4:4/0/terrain = 0 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 6:4/0 = 0 +6:4/0/terrain_set = 0 +6:4/0/terrain = 0 +6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 1.25, -16, 1.25, 16, -16, 16) +6:4/0/terrains_peering_bit/right_side = 0 +6:4/0/terrains_peering_bit/bottom_right_corner = 0 +6:4/0/terrains_peering_bit/bottom_side = 0 +6:4/0/terrains_peering_bit/top_side = 0 7:4/0 = 0 +7:4/0/terrain_set = 0 +7:4/0/terrain = 0 +7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(2.75, -16, 16, -16, 16, 16, 3, 16) +7:4/0/terrains_peering_bit/bottom_side = 0 +7:4/0/terrains_peering_bit/bottom_left_corner = 0 +7:4/0/terrains_peering_bit/left_side = 0 +7:4/0/terrains_peering_bit/top_side = 0 9:4/0 = 0 +9:4/0/terrain_set = 0 +9:4/0/terrain = 0 +9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 1.5, 16, 1.25, 16, 16, -16, 16) +9:4/0/terrains_peering_bit/right_side = 0 +9:4/0/terrains_peering_bit/left_side = 0 +9:4/0/terrains_peering_bit/top_left_corner = 0 +9:4/0/terrains_peering_bit/top_side = 0 10:4/0 = 0 +10:4/0/terrain_set = 0 +10:4/0/terrain = 0 +10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 1.5, 16, 1.25, 16, 16, -16, 16) +10:4/0/terrains_peering_bit/right_side = 0 +10:4/0/terrains_peering_bit/left_side = 0 +10:4/0/terrains_peering_bit/top_side = 0 +10:4/0/terrains_peering_bit/top_right_corner = 0 12:4/0 = 0 +12:4/0/terrain_set = 0 +12:4/0/terrain = 0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 1.5, 16, 1.25, 16, 16, -16, 16) +12:4/0/terrains_peering_bit/right_side = 0 +12:4/0/terrains_peering_bit/left_side = 0 +12:4/0/terrains_peering_bit/top_side = 0 13:4/0 = 0 +13:4/0/terrain_set = 0 +13:4/0/terrain = 0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(1.75, -16, 16, -16, 16, 16, -16, 16, -16, 1, 1.25, 0.5) +13:4/0/terrains_peering_bit/bottom_side = 0 +13:4/0/terrains_peering_bit/left_side = 0 +13:4/0/terrains_peering_bit/top_side = 0 15:4/0 = 0 +15:4/0/terrain_set = 0 +15:4/0/terrain = 0 +15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:4/0/terrains_peering_bit/right_side = 0 +15:4/0/terrains_peering_bit/top_side = 0 16:4/0 = 0 +16:4/0/terrain_set = 0 +16:4/0/terrain = 0 +16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +16:4/0/terrains_peering_bit/left_side = 0 +16:4/0/terrains_peering_bit/top_side = 0 [sub_resource type="TileSet" id="TileSet_wyq3g"] tile_size = Vector2i(32, 32) +physics_layer_0/collision_layer = 1 +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "Ground" +terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) +terrain_set_1/mode = 0 +terrain_set_1/terrain_0/name = "Sky" +terrain_set_1/terrain_0/color = Color(0.348943, 0.362533, 0.56576, 1) sources/0 = SubResource("TileSetAtlasSource_ih8kf") - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_rcjag"] -size = Vector2(84, 12) +pattern_0 = SubResource("TileMapPattern_mkieg") [sub_resource type="RectangleShape2D" id="RectangleShape2D_supj4"] @@ -70,40 +381,38 @@ size = Vector2(84, 12) [node name="Game" type="Node2D"] +[node name="Background" type="Parallax2D" parent="."] +scroll_scale = Vector2(0.5, 1) +repeat_size = Vector2(320, 0) + +[node name="forest" type="Sprite2D" parent="Background"] +texture_filter = 1 +position = Vector2(160, 90) +texture = ExtResource("1_6g8gi") + +[node name="Sprite2D" type="Sprite2D" parent="Background"] +position = Vector2(160, -182) +scale = Vector2(1, 13.1333) +texture = ExtResource("2_fg804") + +[node name="Midground" type="Parallax2D" parent="."] +repeat_size = Vector2(320, 0) + +[node name="Sprite2D" type="Sprite2D" parent="Midground"] +texture_filter = 1 +position = Vector2(160, 90) +texture = ExtResource("2_nbj6c") + [node name="TileMapLayer" type="TileMapLayer" parent="."] -tile_map_data = PackedByteArray("AAAOAAwAAAAAAAAAAAAPAAwAAAABAAAAAAAQAAwAAAABAAAAAAARAAwAAAACAAAAAAAKABEAAAABAAAAAAALABEAAAABAAAAAAAMABEAAAABAAAAAAANABEAAAABAAAAAAAOABEAAAABAAAAAAAPABEAAAABAAAAAAAQABEAAAABAAAAAAARABEAAAABAAAAAAASABEAAAABAAAAAAATABEAAAABAAAAAAAUABEAAAABAAAAAAAVABEAAAABAAAAAAAWABEAAAABAAAAAAAXABEAAAABAAAAAAAYABEAAAABAAAAAAAZABEAAAABAAAAAAAJABEAAAABAAAAAAAIABEAAAABAAAAAAAHABEAAAABAAAAAAAGABEAAAABAAAAAAAUAAoAAAAEAAQAAAAWAAgAAAAAAAAAAAAXAAgAAAABAAAAAAAYAAgAAAABAAAAAAAZAAgAAAABAAAAAAAaAAgAAAACAAAAAAAWAAkAAAAAAAIAAAAXAAkAAAABAAIAAAAYAAkAAAABAAIAAAAZAAkAAAABAAIAAAAaAAkAAAACAAIAAAA=") +tile_map_data = PackedByteArray("AAAAAAUAAAAAAAQAAAABAAUAAAABAAQAAAACAAUAAAABAAQAAAADAAUAAAABAAQAAAAEAAUAAAABAAQAAAAFAAUAAAABAAQAAAAGAAUAAAABAAQAAAAHAAUAAAABAAQAAAAIAAUAAAABAAQAAAAJAAUAAAABAAQAAAAKAAUAAAABAAQAAAALAAUAAAABAAQAAAAMAAUAAAABAAQAAAANAAUAAAABAAQAAAAOAAUAAAABAAQAAAAPAAUAAAABAAQAAAAQAAUAAAABAAQAAAARAAUAAAABAAQAAAASAAUAAAABAAQAAAATAAUAAAABAAQAAAAUAAUAAAABAAQAAAAVAAUAAAACAAQAAAAGAAMAAAAEAAQAAAAIAAIAAAAEAAQAAAAAAAMAAAAEAAIAAAAAAAIAAAAEAAEAAAAAAAEAAAAEAAAAAAALAAIAAAAAAAAAAAAMAAIAAAABAAAAAAANAAIAAAABAAAAAAAOAAIAAAACAAAAAAAOAAMAAAACAAIAAAANAAMAAAABAAIAAAAMAAMAAAABAAIAAAALAAMAAAAAAAIAAAAKAAAAAAAAAAQAAAALAAAAAAABAAQAAAAMAAAAAAAQAAQAAAAMAP//AAAEAAAAAAAOAP7/AAAEAAQAAAA=") tile_set = SubResource("TileSet_wyq3g") [node name="SceneManager" type="Node" parent="."] unique_name_in_owner = true script = ExtResource("1_obwxw") -[node name="Platform" type="StaticBody2D" parent="."] -position = Vector2(511, 393) -scale = Vector2(1.46914, 1) -metadata/_edit_group_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Platform"] -shape = SubResource("RectangleShape2D_rcjag") - -[node name="Platform2" type="StaticBody2D" parent="."] -position = Vector2(656, 327) -scale = Vector2(0.4, 1) -metadata/_edit_group_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Platform2"] -shape = SubResource("RectangleShape2D_rcjag") - -[node name="Platform3" type="StaticBody2D" parent="."] -position = Vector2(786, 263) -scale = Vector2(2, 1) -metadata/_edit_group_ = true - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Platform3"] -shape = SubResource("RectangleShape2D_rcjag") - [node name="CharacterBody2D" parent="." instance=ExtResource("1_p32ky")] -position = Vector2(502, 230) +position = Vector2(161, 92) [node name="Area2D" type="Area2D" parent="."] position = Vector2(519, 464) @@ -116,20 +425,30 @@ shape = SubResource("RectangleShape2D_supj4") debug_color = Color(0.793021, 0.25626, 0.844091, 0.42) [node name="RigidBody2D" parent="." instance=ExtResource("3_pi0u1")] -position = Vector2(571, 331) +position = Vector2(109, 42) [node name="RigidBody2D2" parent="." instance=ExtResource("3_pi0u1")] -position = Vector2(622, 275) +position = Vector2(76, 49) [node name="RigidBody2D3" parent="." instance=ExtResource("3_pi0u1")] -position = Vector2(479, 288) +position = Vector2(144, 48) rotation = 1.16823 [node name="StaticBody2D" type="StaticBody2D" parent="."] -position = Vector2(508, 546) +position = Vector2(486, 164) metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] shape = SubResource("WorldBoundaryShape2D_c5gsu") +[node name="Parallax2D" type="Parallax2D" parent="."] +scroll_scale = Vector2(2, 1) +repeat_size = Vector2(320, 0) + +[node name="Sprite2D" type="Sprite2D" parent="Parallax2D"] +texture_filter = 1 +position = Vector2(160, 150) +scale = Vector2(1, 0.3) +texture = ExtResource("2_nbj6c") + [connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"]