diff --git a/2d/platformer/assets/art/background/cloud_1.png b/2d/platformer/assets/art/background/cloud_1.png index 5f01d1b8..4e26e176 100644 Binary files a/2d/platformer/assets/art/background/cloud_1.png and b/2d/platformer/assets/art/background/cloud_1.png differ diff --git a/2d/platformer/assets/art/background/cloud_2.png b/2d/platformer/assets/art/background/cloud_2.png index 68c985f2..2a9a6477 100644 Binary files a/2d/platformer/assets/art/background/cloud_2.png and b/2d/platformer/assets/art/background/cloud_2.png differ diff --git a/2d/platformer/assets/art/background/cloud_3.png b/2d/platformer/assets/art/background/cloud_3.png index 998d6ff0..65d3e464 100644 Binary files a/2d/platformer/assets/art/background/cloud_3.png and b/2d/platformer/assets/art/background/cloud_3.png differ diff --git a/2d/platformer/assets/art/background/distant_platforms_1.png b/2d/platformer/assets/art/background/distant_platforms_1.png index a513c820..38fcc5f5 100644 Binary files a/2d/platformer/assets/art/background/distant_platforms_1.png and b/2d/platformer/assets/art/background/distant_platforms_1.png differ diff --git a/2d/platformer/assets/art/background/distant_platforms_2.png b/2d/platformer/assets/art/background/distant_platforms_2.png index da67ebe7..7d637b52 100644 Binary files a/2d/platformer/assets/art/background/distant_platforms_2.png and b/2d/platformer/assets/art/background/distant_platforms_2.png differ diff --git a/2d/platformer/assets/art/background/sky.png b/2d/platformer/assets/art/background/sky.png index 13ba7b6c..739b8f29 100644 Binary files a/2d/platformer/assets/art/background/sky.png and b/2d/platformer/assets/art/background/sky.png differ diff --git a/2d/platformer/assets/art/coin/coin.png b/2d/platformer/assets/art/coin/coin.png index 2c966e57..4fb5c086 100644 Binary files a/2d/platformer/assets/art/coin/coin.png and b/2d/platformer/assets/art/coin/coin.png differ diff --git a/2d/platformer/assets/art/enemy/enemy.png b/2d/platformer/assets/art/enemy/enemy.png index 5fcf9503..9846a131 100644 Binary files a/2d/platformer/assets/art/enemy/enemy.png and b/2d/platformer/assets/art/enemy/enemy.png differ diff --git a/2d/platformer/assets/art/platforms/moving_platform.png b/2d/platformer/assets/art/platforms/moving_platform.png index 42554b78..79547ae3 100644 Binary files a/2d/platformer/assets/art/platforms/moving_platform.png and b/2d/platformer/assets/art/platforms/moving_platform.png differ diff --git a/2d/platformer/assets/art/platforms/one_way_platform.png b/2d/platformer/assets/art/platforms/one_way_platform.png index 6e0b1518..ba24ea6e 100644 Binary files a/2d/platformer/assets/art/platforms/one_way_platform.png and b/2d/platformer/assets/art/platforms/one_way_platform.png differ diff --git a/2d/platformer/assets/art/player/bullet/bullet.png b/2d/platformer/assets/art/player/bullet/bullet.png index f8e0168c..67270f01 100644 Binary files a/2d/platformer/assets/art/player/bullet/bullet.png and b/2d/platformer/assets/art/player/bullet/bullet.png differ diff --git a/2d/platformer/assets/art/player/robot.png b/2d/platformer/assets/art/player/robot.png new file mode 100644 index 00000000..96ef8e10 Binary files /dev/null and b/2d/platformer/assets/art/player/robot.png differ diff --git a/2d/platformer/assets/art/player/robot_demo.png.import b/2d/platformer/assets/art/player/robot.png.import similarity index 70% rename from 2d/platformer/assets/art/player/robot_demo.png.import rename to 2d/platformer/assets/art/player/robot.png.import index f17d7ff1..db654506 100644 --- a/2d/platformer/assets/art/player/robot_demo.png.import +++ b/2d/platformer/assets/art/player/robot.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/robot_demo.png-cd7cbcf6d0c47d4a233ea7ce93b142c2.stex" +path="res://.import/robot.png-27287450bd4c41a095bcac0b0e7c1704.stex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/player/robot_demo.png" -dest_files=[ "res://.import/robot_demo.png-cd7cbcf6d0c47d4a233ea7ce93b142c2.stex" ] +source_file="res://assets/art/player/robot.png" +dest_files=[ "res://.import/robot.png-27287450bd4c41a095bcac0b0e7c1704.stex" ] [params] diff --git a/2d/platformer/assets/art/player/robot_demo.png b/2d/platformer/assets/art/player/robot_demo.png deleted file mode 100644 index 914a5efb..00000000 Binary files a/2d/platformer/assets/art/player/robot_demo.png and /dev/null differ diff --git a/2d/platformer/assets/art/props/bush_1.png b/2d/platformer/assets/art/props/bush_1.png new file mode 100644 index 00000000..8e7881e3 Binary files /dev/null and b/2d/platformer/assets/art/props/bush_1.png differ diff --git a/2d/platformer/assets/art/props/bush_1.png.import b/2d/platformer/assets/art/props/bush_1.png.import new file mode 100644 index 00000000..38709b39 --- /dev/null +++ b/2d/platformer/assets/art/props/bush_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/bush_1.png-a89a3687cf2167631546a592d09c01c7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/bush_1.png" +dest_files=[ "res://.import/bush_1.png-a89a3687cf2167631546a592d09c01c7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/fern_1.png b/2d/platformer/assets/art/props/fern_1.png new file mode 100644 index 00000000..3dfa6f82 Binary files /dev/null and b/2d/platformer/assets/art/props/fern_1.png differ diff --git a/2d/platformer/assets/art/props/fern_1.png.import b/2d/platformer/assets/art/props/fern_1.png.import new file mode 100644 index 00000000..cf8b01ba --- /dev/null +++ b/2d/platformer/assets/art/props/fern_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/fern_1.png-5ade669859daeb65d0e571e9f88df023.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/fern_1.png" +dest_files=[ "res://.import/fern_1.png-5ade669859daeb65d0e571e9f88df023.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/flower_1.png b/2d/platformer/assets/art/props/flower_1.png new file mode 100644 index 00000000..b4029c96 Binary files /dev/null and b/2d/platformer/assets/art/props/flower_1.png differ diff --git a/2d/platformer/assets/art/props/flower_1.png.import b/2d/platformer/assets/art/props/flower_1.png.import new file mode 100644 index 00000000..d44cd92c --- /dev/null +++ b/2d/platformer/assets/art/props/flower_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/flower_1.png-300807e1b8e9d982bc5da9af4d623eb3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/flower_1.png" +dest_files=[ "res://.import/flower_1.png-300807e1b8e9d982bc5da9af4d623eb3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/grass_1.png b/2d/platformer/assets/art/props/grass_1.png new file mode 100644 index 00000000..fa43ca33 Binary files /dev/null and b/2d/platformer/assets/art/props/grass_1.png differ diff --git a/2d/platformer/assets/art/props/grass_1.png.import b/2d/platformer/assets/art/props/grass_1.png.import new file mode 100644 index 00000000..8f61a7d2 --- /dev/null +++ b/2d/platformer/assets/art/props/grass_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/grass_1.png-6cec23d64da1a527fdb8bf98d3af3b82.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/grass_1.png" +dest_files=[ "res://.import/grass_1.png-6cec23d64da1a527fdb8bf98d3af3b82.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/grass_2.png b/2d/platformer/assets/art/props/grass_2.png new file mode 100644 index 00000000..c0a6350a Binary files /dev/null and b/2d/platformer/assets/art/props/grass_2.png differ diff --git a/2d/platformer/assets/art/props/grass_2.png.import b/2d/platformer/assets/art/props/grass_2.png.import new file mode 100644 index 00000000..c8333345 --- /dev/null +++ b/2d/platformer/assets/art/props/grass_2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/grass_2.png-c84e00316b07612db99a48dd8c42c139.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/grass_2.png" +dest_files=[ "res://.import/grass_2.png-c84e00316b07612db99a48dd8c42c139.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/grass_3.png b/2d/platformer/assets/art/props/grass_3.png new file mode 100644 index 00000000..0da87f76 Binary files /dev/null and b/2d/platformer/assets/art/props/grass_3.png differ diff --git a/2d/platformer/assets/art/props/grass_3.png.import b/2d/platformer/assets/art/props/grass_3.png.import new file mode 100644 index 00000000..4f00916a --- /dev/null +++ b/2d/platformer/assets/art/props/grass_3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/grass_3.png-6f062da482645e3378531b5800cd9599.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/grass_3.png" +dest_files=[ "res://.import/grass_3.png-6f062da482645e3378531b5800cd9599.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/ground_flowers_1.png b/2d/platformer/assets/art/props/ground_flowers_1.png new file mode 100644 index 00000000..6acec107 Binary files /dev/null and b/2d/platformer/assets/art/props/ground_flowers_1.png differ diff --git a/2d/platformer/assets/art/props/ground_flowers_1.png.import b/2d/platformer/assets/art/props/ground_flowers_1.png.import new file mode 100644 index 00000000..1239586d --- /dev/null +++ b/2d/platformer/assets/art/props/ground_flowers_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/ground_flowers_1.png-a882b67af8e175e67eae7acd0391a81b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/ground_flowers_1.png" +dest_files=[ "res://.import/ground_flowers_1.png-a882b67af8e175e67eae7acd0391a81b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/rock_1.png b/2d/platformer/assets/art/props/rock_1.png new file mode 100644 index 00000000..a335d538 Binary files /dev/null and b/2d/platformer/assets/art/props/rock_1.png differ diff --git a/2d/platformer/assets/art/props/rock_1.png.import b/2d/platformer/assets/art/props/rock_1.png.import new file mode 100644 index 00000000..4da00470 --- /dev/null +++ b/2d/platformer/assets/art/props/rock_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/rock_1.png-235014254b57c514759f824e92e1d9e4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/rock_1.png" +dest_files=[ "res://.import/rock_1.png-235014254b57c514759f824e92e1d9e4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/tree_1.png b/2d/platformer/assets/art/props/tree_1.png new file mode 100644 index 00000000..aadeafdc Binary files /dev/null and b/2d/platformer/assets/art/props/tree_1.png differ diff --git a/2d/platformer/assets/art/props/tree_1.png.import b/2d/platformer/assets/art/props/tree_1.png.import new file mode 100644 index 00000000..ddd01efd --- /dev/null +++ b/2d/platformer/assets/art/props/tree_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tree_1.png-63980e8fa331befa37ae963a3c0d25e4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/tree_1.png" +dest_files=[ "res://.import/tree_1.png-63980e8fa331befa37ae963a3c0d25e4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/tree_2.png b/2d/platformer/assets/art/props/tree_2.png new file mode 100644 index 00000000..b7c16539 Binary files /dev/null and b/2d/platformer/assets/art/props/tree_2.png differ diff --git a/2d/platformer/assets/art/props/tree_2.png.import b/2d/platformer/assets/art/props/tree_2.png.import new file mode 100644 index 00000000..bc1bbc56 --- /dev/null +++ b/2d/platformer/assets/art/props/tree_2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tree_2.png-7a103986ced6b2cf55d1f71e7ec48fe6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/tree_2.png" +dest_files=[ "res://.import/tree_2.png-7a103986ced6b2cf55d1f71e7ec48fe6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/vine_1.png b/2d/platformer/assets/art/props/vine_1.png new file mode 100644 index 00000000..256a2e98 Binary files /dev/null and b/2d/platformer/assets/art/props/vine_1.png differ diff --git a/2d/platformer/assets/art/props/vine_1.png.import b/2d/platformer/assets/art/props/vine_1.png.import new file mode 100644 index 00000000..35f1f3b1 --- /dev/null +++ b/2d/platformer/assets/art/props/vine_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/vine_1.png-11b26a416c1af7c0919ecab663b43fd3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/vine_1.png" +dest_files=[ "res://.import/vine_1.png-11b26a416c1af7c0919ecab663b43fd3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/props/vine_2.png b/2d/platformer/assets/art/props/vine_2.png new file mode 100644 index 00000000..6be795ad Binary files /dev/null and b/2d/platformer/assets/art/props/vine_2.png differ diff --git a/2d/platformer/assets/art/props/vine_2.png.import b/2d/platformer/assets/art/props/vine_2.png.import new file mode 100644 index 00000000..24360490 --- /dev/null +++ b/2d/platformer/assets/art/props/vine_2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/vine_2.png-e98200e006718faab1b3bf8dd88f9682.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/art/props/vine_2.png" +dest_files=[ "res://.import/vine_2.png-e98200e006718faab1b3bf8dd88f9682.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/2d/platformer/assets/art/tileset/tiles_demo.png b/2d/platformer/assets/art/tileset/tiles_demo.png index bbb7d44a..6eaed871 100644 Binary files a/2d/platformer/assets/art/tileset/tiles_demo.png and b/2d/platformer/assets/art/tileset/tiles_demo.png differ diff --git a/2d/platformer/assets/art/tileset/tileset.tres b/2d/platformer/assets/art/tileset/tileset.tres index 36ff4ea8..c4483637 100644 --- a/2d/platformer/assets/art/tileset/tileset.tres +++ b/2d/platformer/assets/art/tileset/tileset.tres @@ -1,230 +1,77 @@ -[gd_resource type="TileSet" load_steps=14 format=2] +[gd_resource type="TileSet" load_steps=19 format=2] [ext_resource path="res://assets/art/tileset/tiles_demo.png" type="Texture" id=1] -[sub_resource type="ConvexPolygonShape2D" id=1] -points = PoolVector2Array( 0, 6, 32, 6, 32, 32, 0, 32 ) - -[sub_resource type="ConvexPolygonShape2D" id=2] -points = PoolVector2Array( 0, 6, 28, 6, 28, 32, 0, 32 ) - -[sub_resource type="ConvexPolygonShape2D" id=3] -points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) - -[sub_resource type="ConvexPolygonShape2D" id=4] -points = PoolVector2Array( 0, 6, 32, 6, 32, 32, 0, 32 ) - -[sub_resource type="ConvexPolygonShape2D" id=5] -points = PoolVector2Array( 32, 38, 32, 64, 0, 64, 0, 6 ) - -[sub_resource type="ConvexPolygonShape2D" id=6] -points = PoolVector2Array( 0, 0, 28, 0, 28, 32, 0, 32 ) - -[sub_resource type="ConvexPolygonShape2D" id=7] -points = PoolVector2Array( 28, 6, 32, 6, 32, 32, 0, 32, 0, 0, 28, 0 ) - [sub_resource type="ConvexPolygonShape2D" id=8] -points = PoolVector2Array( 0, 6, 32, 6, 32, 32, 0, 32 ) +points = PoolVector2Array( 0, 10, 64, 10, 64, 64, 0, 64 ) [sub_resource type="ConvexPolygonShape2D" id=9] -points = PoolVector2Array( 0, 6, 28, 6, 28, 32, 0, 32 ) +points = PoolVector2Array( 0, 10, 64, 10, 64, 46, 0, 46 ) [sub_resource type="ConvexPolygonShape2D" id=10] -points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) +points = PoolVector2Array( 0, 10, 64, 10, 64, 43, 0, 43 ) [sub_resource type="ConvexPolygonShape2D" id=11] -points = PoolVector2Array( 0, 0, 32, 0, 32, 24, 0, 24 ) +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) [sub_resource type="ConvexPolygonShape2D" id=12] -points = PoolVector2Array( 0, 0, 28, 0, 28, 24, 0, 24 ) +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=13] +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] +points = PoolVector2Array( 0, 47.2426, 0, 7.25462, 58.1805, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=14] +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=15] +points = PoolVector2Array( 0, 10, 64, 10, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=16] +points = PoolVector2Array( 0, 10, 64, 10, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=17] +points = PoolVector2Array( 0, 10, 64, 10, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=18] +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=19] +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=20] +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=21] +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=22] +points = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=23] +points = PoolVector2Array( 0, 10, 64, 10, 64, 64, 0, 64 ) [resource] -0/name = "ground" -0/texture = ExtResource( 1 ) -0/tex_offset = Vector2( 0, 0 ) -0/modulate = Color( 1, 1, 1, 1 ) -0/region = Rect2( 0, 0, 32, 32 ) -0/tile_mode = 0 -0/occluder_offset = Vector2( 0, 0 ) -0/navigation_offset = Vector2( 0, 0 ) -0/shape_offset = Vector2( 0, 0 ) -0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape = SubResource( 1 ) -0/shape_one_way = false -0/shape_one_way_margin = 1.0 -0/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 1 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -0/z_index = 0 -1/name = "ground_end" -1/texture = ExtResource( 1 ) -1/tex_offset = Vector2( 0, 0 ) -1/modulate = Color( 1, 1, 1, 1 ) -1/region = Rect2( 32, 0, 32, 32 ) -1/tile_mode = 0 -1/occluder_offset = Vector2( 0, 0 ) -1/navigation_offset = Vector2( 0, 0 ) -1/shape_offset = Vector2( 0, 0 ) -1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -1/shape = SubResource( 2 ) -1/shape_one_way = false -1/shape_one_way_margin = 1.0 -1/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 2 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -1/z_index = 0 -2/name = "slope" -2/texture = ExtResource( 1 ) -2/tex_offset = Vector2( 0, 0 ) -2/modulate = Color( 1, 1, 1, 1 ) -2/region = Rect2( 64, 64, 32, 64 ) -2/tile_mode = 0 -2/occluder_offset = Vector2( 0, 0 ) -2/navigation_offset = Vector2( 0, 0 ) -2/shape_offset = Vector2( 0, 0 ) -2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -2/shape = SubResource( 5 ) -2/shape_one_way = false -2/shape_one_way_margin = 1.0 -2/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 5 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -2/z_index = 0 -3/name = "wall" -3/texture = ExtResource( 1 ) -3/tex_offset = Vector2( 0, 0 ) -3/modulate = Color( 1, 1, 1, 1 ) -3/region = Rect2( 32, 32, 32, 32 ) -3/tile_mode = 0 -3/occluder_offset = Vector2( 0, 0 ) -3/navigation_offset = Vector2( 0, 0 ) -3/shape_offset = Vector2( 0, 0 ) -3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -3/shape = SubResource( 6 ) -3/shape_one_way = false -3/shape_one_way_margin = 1.0 -3/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 6 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -3/z_index = 0 -4/name = "slope_top" -4/texture = ExtResource( 1 ) -4/tex_offset = Vector2( 0, 0 ) -4/modulate = Color( 1, 1, 1, 1 ) -4/region = Rect2( 32, 64, 32, 32 ) -4/tile_mode = 0 -4/occluder_offset = Vector2( 0, 0 ) -4/navigation_offset = Vector2( 0, 0 ) -4/shape_offset = Vector2( 0, 0 ) -4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -4/shape = SubResource( 7 ) -4/shape_one_way = false -4/shape_one_way_margin = 1.0 -4/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 7 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -4/z_index = 0 -5/name = "one_way" -5/texture = ExtResource( 1 ) -5/tex_offset = Vector2( 0, 0 ) -5/modulate = Color( 1, 1, 1, 1 ) -5/region = Rect2( 64, 0, 32, 32 ) -5/tile_mode = 0 -5/occluder_offset = Vector2( 0, 0 ) -5/navigation_offset = Vector2( 0, 0 ) -5/shape_offset = Vector2( 0, 0 ) -5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -5/shape = SubResource( 8 ) -5/shape_one_way = true -5/shape_one_way_margin = 1.0 -5/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": true, -"one_way_margin": 1.0, -"shape": SubResource( 8 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -5/z_index = 0 -6/name = "one_way_end" -6/texture = ExtResource( 1 ) -6/tex_offset = Vector2( 0, 0 ) -6/modulate = Color( 1, 1, 1, 1 ) -6/region = Rect2( 96, 0, 32, 32 ) -6/tile_mode = 0 -6/occluder_offset = Vector2( 0, 0 ) -6/navigation_offset = Vector2( 0, 0 ) -6/shape_offset = Vector2( 0, 0 ) -6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -6/shape = SubResource( 9 ) -6/shape_one_way = true -6/shape_one_way_margin = 1.0 -6/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": true, -"one_way_margin": 1.0, -"shape": SubResource( 9 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -6/z_index = 0 -7/name = "rock" -7/texture = ExtResource( 1 ) -7/tex_offset = Vector2( 0, 0 ) -7/modulate = Color( 1, 1, 1, 1 ) -7/region = Rect2( 0, 32, 32, 32 ) -7/tile_mode = 0 -7/occluder_offset = Vector2( 0, 0 ) -7/navigation_offset = Vector2( 0, 0 ) -7/shape_offset = Vector2( 0, 0 ) -7/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -7/shape = SubResource( 10 ) -7/shape_one_way = false -7/shape_one_way_margin = 1.0 -7/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 10 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] -7/z_index = 0 8/name = "bottom" 8/texture = ExtResource( 1 ) 8/tex_offset = Vector2( 0, 0 ) 8/modulate = Color( 1, 1, 1, 1 ) -8/region = Rect2( 192, 32, 32, 32 ) +8/region = Rect2( 0, 0, 64, 64 ) 8/tile_mode = 0 8/occluder_offset = Vector2( 0, 0 ) 8/navigation_offset = Vector2( 0, 0 ) 8/shape_offset = Vector2( 0, 0 ) 8/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -8/shape = SubResource( 11 ) +8/shape = SubResource( 23 ) 8/shape_one_way = false 8/shape_one_way_margin = 1.0 8/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 11 ), +"shape": SubResource( 23 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 8/z_index = 0 @@ -232,104 +79,377 @@ points = PoolVector2Array( 0, 0, 28, 0, 28, 24, 0, 24 ) 9/texture = ExtResource( 1 ) 9/tex_offset = Vector2( 0, 0 ) 9/modulate = Color( 1, 1, 1, 1 ) -9/region = Rect2( 224, 32, 32, 32 ) +9/region = Rect2( 256, 64, 64, 64 ) 9/tile_mode = 0 9/occluder_offset = Vector2( 0, 0 ) 9/navigation_offset = Vector2( 0, 0 ) 9/shape_offset = Vector2( 0, 0 ) 9/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -9/shape = SubResource( 12 ) 9/shape_one_way = false -9/shape_one_way_margin = 1.0 -9/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 12 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] +9/shape_one_way_margin = 0.0 +9/shapes = [ ] 9/z_index = 0 -10/name = "bottom_corner" +10/name = "tiles_demo.png 10" 10/texture = ExtResource( 1 ) 10/tex_offset = Vector2( 0, 0 ) 10/modulate = Color( 1, 1, 1, 1 ) -10/region = Rect2( 160, 32, 32, 32 ) +10/region = Rect2( 64, 0, 64, 64 ) 10/tile_mode = 0 10/occluder_offset = Vector2( 0, 0 ) 10/navigation_offset = Vector2( 0, 0 ) 10/shape_offset = Vector2( 0, 0 ) 10/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -10/shape = SubResource( 3 ) +10/shape = SubResource( 8 ) 10/shape_one_way = false 10/shape_one_way_margin = 1.0 10/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 3 ), +"shape": SubResource( 8 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 10/z_index = 0 -11/name = "tree_trunk_0" +11/name = "tiles_demo.png 11" 11/texture = ExtResource( 1 ) 11/tex_offset = Vector2( 0, 0 ) 11/modulate = Color( 1, 1, 1, 1 ) -11/region = Rect2( 128, 64, 32, 32 ) +11/region = Rect2( 128, 0, 64, 64 ) 11/tile_mode = 0 11/occluder_offset = Vector2( 0, 0 ) 11/navigation_offset = Vector2( 0, 0 ) 11/shape_offset = Vector2( 0, 0 ) 11/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +11/shape = SubResource( 9 ) 11/shape_one_way = false -11/shape_one_way_margin = 0.0 -11/shapes = [ ] +11/shape_one_way_margin = 1.0 +11/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 9 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] 11/z_index = 0 -12/name = "tree_trunk_1" +12/name = "tiles_demo.png 12" 12/texture = ExtResource( 1 ) 12/tex_offset = Vector2( 0, 0 ) 12/modulate = Color( 1, 1, 1, 1 ) -12/region = Rect2( 128, 32, 32, 32 ) +12/region = Rect2( 192, 0, 64, 64 ) 12/tile_mode = 0 12/occluder_offset = Vector2( 0, 0 ) 12/navigation_offset = Vector2( 0, 0 ) 12/shape_offset = Vector2( 0, 0 ) 12/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +12/shape = SubResource( 10 ) 12/shape_one_way = false -12/shape_one_way_margin = 0.0 -12/shapes = [ ] +12/shape_one_way_margin = 1.0 +12/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 10 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] 12/z_index = 0 -13/name = "tree_base" +13/name = "tiles_demo.png 13" 13/texture = ExtResource( 1 ) 13/tex_offset = Vector2( 0, 0 ) 13/modulate = Color( 1, 1, 1, 1 ) -13/region = Rect2( 128, 96, 32, 32 ) +13/region = Rect2( 256, 0, 64, 64 ) 13/tile_mode = 0 13/occluder_offset = Vector2( 0, 0 ) 13/navigation_offset = Vector2( 0, 0 ) 13/shape_offset = Vector2( 0, 0 ) 13/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -13/shape = SubResource( 4 ) 13/shape_one_way = false -13/shape_one_way_margin = 1.0 -13/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 4 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] +13/shape_one_way_margin = 0.0 +13/shapes = [ ] 13/z_index = 0 -14/name = "tree_top" +14/name = "tiles_demo.png 14" 14/texture = ExtResource( 1 ) 14/tex_offset = Vector2( 0, 0 ) 14/modulate = Color( 1, 1, 1, 1 ) -14/region = Rect2( 128, 0, 32, 32 ) +14/region = Rect2( 0, 64, 64, 64 ) 14/tile_mode = 0 14/occluder_offset = Vector2( 0, 0 ) 14/navigation_offset = Vector2( 0, 0 ) 14/shape_offset = Vector2( 0, 0 ) 14/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +14/shape = SubResource( 11 ) 14/shape_one_way = false -14/shape_one_way_margin = 0.0 -14/shapes = [ ] +14/shape_one_way_margin = 1.0 +14/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] 14/z_index = 0 +15/name = "tiles_demo.png 15" +15/texture = ExtResource( 1 ) +15/tex_offset = Vector2( 0, 0 ) +15/modulate = Color( 1, 1, 1, 1 ) +15/region = Rect2( 64, 64, 64, 64 ) +15/tile_mode = 0 +15/occluder_offset = Vector2( 0, 0 ) +15/navigation_offset = Vector2( 0, 0 ) +15/shape_offset = Vector2( 0, 0 ) +15/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +15/shape = SubResource( 12 ) +15/shape_one_way = false +15/shape_one_way_margin = 1.0 +15/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +15/z_index = 0 +16/name = "tiles_demo.png 16" +16/texture = ExtResource( 1 ) +16/tex_offset = Vector2( 0, 0 ) +16/modulate = Color( 1, 1, 1, 1 ) +16/region = Rect2( 64, 128, 64, 64 ) +16/tile_mode = 0 +16/occluder_offset = Vector2( 0, 0 ) +16/navigation_offset = Vector2( 0, 0 ) +16/shape_offset = Vector2( 0, 0 ) +16/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +16/shape = SubResource( 13 ) +16/shape_one_way = false +16/shape_one_way_margin = 1.0 +16/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 13 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +16/z_index = 0 +17/name = "tiles_demo.png 17" +17/texture = ExtResource( 1 ) +17/tex_offset = Vector2( 0, 0 ) +17/modulate = Color( 1, 1, 1, 1 ) +17/region = Rect2( 128, 128, 64, 64 ) +17/tile_mode = 0 +17/occluder_offset = Vector2( 0, 0 ) +17/navigation_offset = Vector2( 0, 0 ) +17/shape_offset = Vector2( 0, 0 ) +17/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +17/shape = SubResource( 7 ) +17/shape_one_way = true +17/shape_one_way_margin = 1.0 +17/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": true, +"one_way_margin": 1.0, +"shape": SubResource( 7 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +17/z_index = 0 +18/name = "tiles_demo.png 18" +18/texture = ExtResource( 1 ) +18/tex_offset = Vector2( 0, 0 ) +18/modulate = Color( 1, 1, 1, 1 ) +18/region = Rect2( 128, 192, 64, 64 ) +18/tile_mode = 0 +18/occluder_offset = Vector2( 0, 0 ) +18/navigation_offset = Vector2( 0, 0 ) +18/shape_offset = Vector2( 0, 0 ) +18/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +18/shape = SubResource( 14 ) +18/shape_one_way = false +18/shape_one_way_margin = 1.0 +18/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 14 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +18/z_index = 0 +19/name = "tiles_demo.png 19" +19/texture = ExtResource( 1 ) +19/tex_offset = Vector2( 0, 0 ) +19/modulate = Color( 1, 1, 1, 1 ) +19/region = Rect2( 192, 192, 64, 64 ) +19/tile_mode = 0 +19/occluder_offset = Vector2( 0, 0 ) +19/navigation_offset = Vector2( 0, 0 ) +19/shape_offset = Vector2( 0, 0 ) +19/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +19/shape = SubResource( 15 ) +19/shape_one_way = false +19/shape_one_way_margin = 1.0 +19/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 15 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +19/z_index = 0 +20/name = "tiles_demo.png 20" +20/texture = ExtResource( 1 ) +20/tex_offset = Vector2( 0, 0 ) +20/modulate = Color( 1, 1, 1, 1 ) +20/region = Rect2( 256, 192, 64, 64 ) +20/tile_mode = 0 +20/occluder_offset = Vector2( 0, 0 ) +20/navigation_offset = Vector2( 0, 0 ) +20/shape_offset = Vector2( 0, 0 ) +20/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +20/shape = SubResource( 16 ) +20/shape_one_way = false +20/shape_one_way_margin = 1.0 +20/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 16 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +20/z_index = 0 +21/name = "tiles_demo.png 21" +21/texture = ExtResource( 1 ) +21/tex_offset = Vector2( 0, 0 ) +21/modulate = Color( 1, 1, 1, 1 ) +21/region = Rect2( 320, 192, 64, 64 ) +21/tile_mode = 0 +21/occluder_offset = Vector2( 0, 0 ) +21/navigation_offset = Vector2( 0, 0 ) +21/shape_offset = Vector2( 0, 0 ) +21/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +21/shape = SubResource( 17 ) +21/shape_one_way = false +21/shape_one_way_margin = 1.0 +21/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 17 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +21/z_index = 0 +22/name = "tiles_demo.png 22" +22/texture = ExtResource( 1 ) +22/tex_offset = Vector2( 0, 0 ) +22/modulate = Color( 1, 1, 1, 1 ) +22/region = Rect2( 384, 64, 64, 64 ) +22/tile_mode = 0 +22/occluder_offset = Vector2( 0, 0 ) +22/navigation_offset = Vector2( 0, 0 ) +22/shape_offset = Vector2( 0, 0 ) +22/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +22/shape = SubResource( 18 ) +22/shape_one_way = false +22/shape_one_way_margin = 1.0 +22/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 18 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +22/z_index = 0 +23/name = "tiles_demo.png 23" +23/texture = ExtResource( 1 ) +23/tex_offset = Vector2( 0, 0 ) +23/modulate = Color( 1, 1, 1, 1 ) +23/region = Rect2( 384, 0, 64, 64 ) +23/tile_mode = 0 +23/occluder_offset = Vector2( 0, 0 ) +23/navigation_offset = Vector2( 0, 0 ) +23/shape_offset = Vector2( 0, 0 ) +23/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +23/shape = SubResource( 19 ) +23/shape_one_way = false +23/shape_one_way_margin = 1.0 +23/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 19 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +23/z_index = 0 +24/name = "tiles_demo.png 24" +24/texture = ExtResource( 1 ) +24/tex_offset = Vector2( 0, 0 ) +24/modulate = Color( 1, 1, 1, 1 ) +24/region = Rect2( 448, 64, 64, 64 ) +24/tile_mode = 0 +24/occluder_offset = Vector2( 0, 0 ) +24/navigation_offset = Vector2( 0, 0 ) +24/shape_offset = Vector2( 0, 0 ) +24/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +24/shape = SubResource( 20 ) +24/shape_one_way = false +24/shape_one_way_margin = 1.0 +24/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 20 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +24/z_index = 0 +26/name = "tiles_demo.png 26" +26/texture = ExtResource( 1 ) +26/tex_offset = Vector2( 0, 0 ) +26/modulate = Color( 1, 1, 1, 1 ) +26/region = Rect2( 320, 128, 64, 64 ) +26/tile_mode = 0 +26/occluder_offset = Vector2( 0, 0 ) +26/navigation_offset = Vector2( 0, 0 ) +26/shape_offset = Vector2( 0, 0 ) +26/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +26/shape = SubResource( 21 ) +26/shape_one_way = false +26/shape_one_way_margin = 1.0 +26/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 21 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +26/z_index = 0 +27/name = "tiles_demo.png 27" +27/texture = ExtResource( 1 ) +27/tex_offset = Vector2( 0, 0 ) +27/modulate = Color( 1, 1, 1, 1 ) +27/region = Rect2( 320, 64, 64, 64 ) +27/tile_mode = 0 +27/occluder_offset = Vector2( 0, 0 ) +27/navigation_offset = Vector2( 0, 0 ) +27/shape_offset = Vector2( 0, 0 ) +27/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +27/shape = SubResource( 22 ) +27/shape_one_way = false +27/shape_one_way_margin = 1.0 +27/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 22 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +27/z_index = 0 +28/name = "tiles_demo.png 28" +28/texture = ExtResource( 1 ) +28/tex_offset = Vector2( 0, 0 ) +28/modulate = Color( 1, 1, 1, 1 ) +28/region = Rect2( 0, 0, 64, 64 ) +28/tile_mode = 0 +28/occluder_offset = Vector2( 0, 0 ) +28/navigation_offset = Vector2( 0, 0 ) +28/shape_offset = Vector2( 0, 0 ) +28/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +28/shape_one_way = false +28/shape_one_way_margin = 0.0 +28/shapes = [ ] +28/z_index = 0 diff --git a/2d/platformer/assets/art/ui/touch_button_fire.png b/2d/platformer/assets/art/ui/touch_button_fire.png index 1d7ed2d5..7947bdd8 100644 Binary files a/2d/platformer/assets/art/ui/touch_button_fire.png and b/2d/platformer/assets/art/ui/touch_button_fire.png differ diff --git a/2d/platformer/assets/art/ui/touch_button_jump.png b/2d/platformer/assets/art/ui/touch_button_jump.png index 819ba611..d84eb92d 100644 Binary files a/2d/platformer/assets/art/ui/touch_button_jump.png and b/2d/platformer/assets/art/ui/touch_button_jump.png differ diff --git a/2d/platformer/assets/art/ui/touch_button_left.png b/2d/platformer/assets/art/ui/touch_button_left.png index 60e48d69..6280ed0d 100644 Binary files a/2d/platformer/assets/art/ui/touch_button_left.png and b/2d/platformer/assets/art/ui/touch_button_left.png differ diff --git a/2d/platformer/assets/art/ui/touch_button_right.png b/2d/platformer/assets/art/ui/touch_button_right.png index 8f0c57c4..66ffe371 100644 Binary files a/2d/platformer/assets/art/ui/touch_button_right.png and b/2d/platformer/assets/art/ui/touch_button_right.png differ diff --git a/2d/platformer/assets/audio/sfx/coin_pickup.wav.import b/2d/platformer/assets/audio/sfx/coin_pickup.wav.import index 63842c36..f00d9ece 100644 --- a/2d/platformer/assets/audio/sfx/coin_pickup.wav.import +++ b/2d/platformer/assets/audio/sfx/coin_pickup.wav.import @@ -17,5 +17,7 @@ force/max_rate=false force/max_rate_hz=44100 edit/trim=true edit/normalize=true -edit/loop=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 compress/mode=0 diff --git a/2d/platformer/assets/audio/sfx/explode.wav.import b/2d/platformer/assets/audio/sfx/explode.wav.import index 34d82393..6505ca67 100644 --- a/2d/platformer/assets/audio/sfx/explode.wav.import +++ b/2d/platformer/assets/audio/sfx/explode.wav.import @@ -17,5 +17,7 @@ force/max_rate=false force/max_rate_hz=44100 edit/trim=true edit/normalize=true -edit/loop=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 compress/mode=0 diff --git a/2d/platformer/assets/audio/sfx/hit.wav.import b/2d/platformer/assets/audio/sfx/hit.wav.import index d40ca4f8..8561a864 100644 --- a/2d/platformer/assets/audio/sfx/hit.wav.import +++ b/2d/platformer/assets/audio/sfx/hit.wav.import @@ -17,5 +17,7 @@ force/max_rate=false force/max_rate_hz=44100 edit/trim=true edit/normalize=true -edit/loop=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 compress/mode=0 diff --git a/2d/platformer/assets/audio/sfx/jump.wav.import b/2d/platformer/assets/audio/sfx/jump.wav.import index 16d60015..e600fa3e 100644 --- a/2d/platformer/assets/audio/sfx/jump.wav.import +++ b/2d/platformer/assets/audio/sfx/jump.wav.import @@ -17,5 +17,7 @@ force/max_rate=false force/max_rate_hz=44100 edit/trim=true edit/normalize=true -edit/loop=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 compress/mode=0 diff --git a/2d/platformer/assets/audio/sfx/shoot.wav.import b/2d/platformer/assets/audio/sfx/shoot.wav.import index 8a0eeb65..74243125 100644 --- a/2d/platformer/assets/audio/sfx/shoot.wav.import +++ b/2d/platformer/assets/audio/sfx/shoot.wav.import @@ -17,5 +17,7 @@ force/max_rate=false force/max_rate_hz=44100 edit/trim=true edit/normalize=true -edit/loop=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 compress/mode=0 diff --git a/2d/platformer/assets/shaders/wind_sway.tres b/2d/platformer/assets/shaders/wind_sway.tres new file mode 100644 index 00000000..982bd047 --- /dev/null +++ b/2d/platformer/assets/shaders/wind_sway.tres @@ -0,0 +1,58 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=2] + +[sub_resource type="Shader" id=1] +code = "// original wind shader from https://github.com/Maujoe/godot-simple-wind-shader-2d/tree/master/assets/maujoe.simple_wind_shader_2d +// original script modified by HungryProton so that the assets are moving differently : https://pastebin.com/VL3AfV8D +// +// speed - The speed of the wind movement. +// minStrength - The minimal strength of the wind movement. +// maxStrength - The maximal strength of the wind movement. +// strengthScale - Scalefactor for the wind strength. +// interval - The time between minimal and maximal strength changes. +// detail - The detail (number of waves) of the wind movement. +// distortion - The strength of geometry distortion. +// heightOffset - The height where the wind begins to move. By default 0.0. + +shader_type canvas_item; +render_mode blend_mix; + +// Wind settings. +uniform float speed = 1.0; +uniform float minStrength : hint_range(0.0, 1.0) = 0.05; +uniform float maxStrength : hint_range(0.0, 1.0) = 0.01; +uniform float strengthScale = 100.0; +uniform float interval = 3.5; +uniform float detail = 1.0; +uniform float distortion : hint_range(0.0, 1.0); +uniform float heightOffset : hint_range(0.0, 1.0); + +// With the offset value, you can if you want different moves for each asset. Just put a random value (1, 2, 3) in the editor. Don't forget to mark the material as unique if you use this +uniform float offset = 0; + + +float getWind(vec2 vertex, vec2 uv, float time){ + float diff = pow(maxStrength - minStrength, 2.0); + float strength = clamp(minStrength + diff + sin(time / interval) * diff, minStrength, maxStrength) * strengthScale; + float wind = (sin(time) + cos(time * detail)) * strength * max(0.0, (1.0-uv.y) - heightOffset); + + return wind; +} + +void vertex() { + vec4 pos = WORLD_MATRIX * vec4(0.0, 0.0, 0.0, 1.0); + float time = TIME * speed + offset; + //float time = TIME * speed + pos.x * pos.y ; not working when moving... + VERTEX.x += getWind(VERTEX.xy, UV, time); +}" + +[resource] +shader = SubResource( 1 ) +shader_param/speed = 1.0 +shader_param/minStrength = 0.05 +shader_param/maxStrength = 0.01 +shader_param/strengthScale = 100.0 +shader_param/interval = 3.5 +shader_param/detail = 1.0 +shader_param/distortion = null +shader_param/heightOffset = null +shader_param/offset = 0.0 diff --git a/2d/platformer/assets/theme/user_interface.tres b/2d/platformer/assets/theme/user_interface.tres index 959eba0c..b5c5d552 100644 --- a/2d/platformer/assets/theme/user_interface.tres +++ b/2d/platformer/assets/theme/user_interface.tres @@ -23,52 +23,64 @@ content_margin_left = 6.0 content_margin_right = 6.0 content_margin_top = 4.0 content_margin_bottom = 4.0 -bg_color = Color( 0.15, 0.1725, 0.2325, 1 ) -border_width_left = 1 -border_width_top = 1 -border_width_right = 1 -border_width_bottom = 1 -border_color = Color( 0.41, 0.61, 0.91, 1 ) +bg_color = Color( 0.384314, 0.454902, 0.631373, 1 ) +border_width_left = 5 +border_width_top = 5 +border_width_right = 5 +border_width_bottom = 5 +border_color = Color( 0.14902, 0.203922, 0.345098, 1 ) +shadow_color = Color( 0.129412, 0.101961, 0.101961, 0.219608 ) +shadow_size = 1 +shadow_offset = Vector2( 2, 2 ) [sub_resource type="StyleBoxFlat" id=3] content_margin_left = 6.0 content_margin_right = 6.0 content_margin_top = 4.0 content_margin_bottom = 4.0 -bg_color = Color( 0.15, 0.1725, 0.2325, 1 ) -border_width_left = 1 -border_width_top = 1 -border_width_right = 1 -border_width_bottom = 1 -border_color = Color( 0.4, 0.4225, 0.4825, 1 ) +bg_color = Color( 0.384314, 0.454902, 0.631373, 1 ) +border_width_left = 5 +border_width_top = 5 +border_width_right = 5 +border_width_bottom = 5 +border_color = Color( 0.14902, 0.203922, 0.345098, 1 ) +shadow_color = Color( 0.129412, 0.101961, 0.101961, 0.219608 ) +shadow_size = 1 +shadow_offset = Vector2( 2, 2 ) [sub_resource type="StyleBoxFlat" id=4] content_margin_left = 6.0 content_margin_right = 6.0 content_margin_top = 4.0 content_margin_bottom = 4.0 -bg_color = Color( 0.15, 0.1725, 0.2325, 1 ) -border_width_left = 1 -border_width_top = 1 -border_width_right = 1 -border_width_bottom = 1 -border_color = Color( 0.125, 0.14375, 0.19375, 1 ) +bg_color = Color( 0.25098, 0.305882, 0.45098, 1 ) +border_width_left = 5 +border_width_top = 5 +border_width_right = 5 +border_width_bottom = 5 +border_color = Color( 0.14902, 0.203922, 0.345098, 1 ) +shadow_color = Color( 0.129412, 0.101961, 0.101961, 0.219608 ) +shadow_size = 1 +shadow_offset = Vector2( 2, 2 ) [sub_resource type="StyleBoxFlat" id=5] content_margin_left = 6.0 content_margin_right = 6.0 content_margin_top = 4.0 content_margin_bottom = 4.0 -bg_color = Color( 0.15, 0.1725, 0.2325, 1 ) -border_width_left = 1 -border_width_top = 1 -border_width_right = 1 -border_width_bottom = 1 -border_color = Color( 0.41, 0.61, 0.91, 1 ) +bg_color = Color( 0.443137, 0.541176, 0.8, 1 ) +border_width_left = 5 +border_width_top = 5 +border_width_right = 5 +border_width_bottom = 5 +border_color = Color( 0.14902, 0.203922, 0.345098, 1 ) +shadow_color = Color( 0.129412, 0.101961, 0.101961, 0.219608 ) +shadow_size = 1 +shadow_offset = Vector2( 2, 2 ) [resource] default_font = SubResource( 6 ) -Button/colors/font_color = Color( 0.8, 0.8075, 0.8275, 1 ) +Button/colors/font_color = Color( 0.788235, 0.847059, 1, 1 ) Button/colors/font_color_disabled = Color( 1, 1, 1, 0.3 ) Button/colors/font_color_hover = Color( 0.88, 0.8845, 0.8965, 1 ) Button/colors/font_color_pressed = Color( 0.411765, 0.611765, 0.909804, 1 ) @@ -81,3 +93,12 @@ Button/styles/focus = SubResource( 2 ) Button/styles/hover = SubResource( 3 ) Button/styles/normal = SubResource( 4 ) Button/styles/pressed = SubResource( 5 ) +Label/colors/font_color = Color( 1, 1, 1, 1 ) +Label/colors/font_color_shadow = Color( 0.117647, 0.117647, 0.184314, 1 ) +Label/colors/font_outline_modulate = Color( 0, 0, 0, 1 ) +Label/constants/line_spacing = 3 +Label/constants/shadow_as_outline = 1 +Label/constants/shadow_offset_x = 2 +Label/constants/shadow_offset_y = 2 +Label/fonts/font = SubResource( 6 ) +Label/styles/normal = null diff --git a/2d/platformer/icon.png b/2d/platformer/icon.png index 8f118484..f7be19d5 100644 Binary files a/2d/platformer/icon.png and b/2d/platformer/icon.png differ diff --git a/2d/platformer/project.godot b/2d/platformer/project.godot index 03d7a659..8b41d9d4 100644 --- a/2d/platformer/project.godot +++ b/2d/platformer/project.godot @@ -12,32 +12,32 @@ _global_script_classes=[ { "base": "KinematicBody2D", "class": "Actor", "language": "GDScript", -"path": "res://src/Actors/Actor.gd" +"path": "res://src/actors/actor.gd" }, { "base": "RigidBody2D", "class": "Bullet", "language": "GDScript", -"path": "res://src/Objects/Bullet.gd" +"path": "res://src/objects/bullet.gd" }, { "base": "Area2D", "class": "Coin", "language": "GDScript", -"path": "res://src/Objects/Coin.gd" +"path": "res://src/objects/coin.gd" }, { "base": "Actor", "class": "Enemy", "language": "GDScript", -"path": "res://src/Actors/Enemy.gd" +"path": "res://src/actors/enemy.gd" }, { "base": "Position2D", "class": "Gun", "language": "GDScript", -"path": "res://src/Actors/Gun.gd" +"path": "res://src/actors/gun.gd" }, { "base": "Actor", "class": "Player", "language": "GDScript", -"path": "res://src/Actors/Player.gd" +"path": "res://src/actors/player.gd" } ] _global_script_class_icons={ "Actor": "", @@ -58,7 +58,7 @@ in a real game context. This is a relatively complete demo where the player can jump, walk on slopes, fire bullets, interact with enemies, and more. It contains one closed level, and the player is invincible, unlike the enemies." -run/main_scene="res://src/Main/Game.tscn" +run/main_scene="res://src/main/game.tscn" config/icon="res://icon.png" target_fps="60" @@ -228,7 +228,7 @@ splitscreen={ [physics] -2d/default_gravity=900 +2d/default_gravity=1400 [rasterizer] @@ -244,6 +244,7 @@ quality/driver/driver_name="GLES2" quality/intended_usage/framebuffer_allocation=0 quality/intended_usage/framebuffer_allocation.mobile=1 2d/snapping/use_gpu_pixel_snap=true +vram_compression/import_etc=true quality/filters/anisotropic_filter_level=2 quality/filters/use_nearest_mipmap_filter=true quality/depth/hdr=false diff --git a/2d/platformer/src/Level/Level.tscn b/2d/platformer/src/Level/Level.tscn deleted file mode 100644 index c1757f42..00000000 --- a/2d/platformer/src/Level/Level.tscn +++ /dev/null @@ -1,267 +0,0 @@ -[gd_scene load_steps=12 format=2] - -[ext_resource path="res://assets/art/tileset/tileset.tres" type="TileSet" id=1] -[ext_resource path="res://src/Actors/Enemy.tscn" type="PackedScene" id=2] -[ext_resource path="res://src/Platforms/Platform.tscn" type="PackedScene" id=3] -[ext_resource path="res://src/Objects/Coin.tscn" type="PackedScene" id=4] -[ext_resource path="res://src/Level/Level.gd" type="Script" id=5] -[ext_resource path="res://assets/art/platforms/moving_platform.png" type="Texture" id=6] -[ext_resource path="res://src/Level/ParallaxBackground.tscn" type="PackedScene" id=7] -[ext_resource path="res://assets/audio/music/music.ogg" type="AudioStream" id=8] -[ext_resource path="res://src/Level/Music.gd" type="Script" id=9] - -[sub_resource type="Animation" id=1] -resource_name = "move" -length = 4.0 -loop = true -tracks/0/type = "value" -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0, 2 ), -"transitions": PoolRealArray( 1, 1 ), -"update": 0, -"values": [ Vector2( 707, 400 ), Vector2( 566, 303 ) ] -} - -[sub_resource type="Animation" id=2] -length = 8.0 -loop = true -tracks/0/type = "value" -tracks/0/path = NodePath(".:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0, 4 ), -"transitions": PoolRealArray( 1, 1 ), -"update": 0, -"values": [ Vector2( -47, 80 ), Vector2( -47, 407 ) ] -} - -[node name="Level" type="Node2D"] -pause_mode = 1 -script = ExtResource( 5 ) - -[node name="TileMap" type="TileMap" parent="."] -tile_set = ExtResource( 1 ) -cell_size = Vector2( 32, 32 ) -collision_layer = 16 -collision_mask = 0 -format = 1 -tile_data = PoolIntArray( -65546, 536870913, 0, -65545, 1, 0, -131044, 536870913, 0, -131043, 1, 0, -10, 536870915, 0, -9, 3, 0, -65508, 536870915, 0, -65507, 3, 0, 65526, 536870915, 0, 65527, 3, 0, 28, 536870915, 0, 29, 3, 0, 131062, 536870915, 0, 131063, 3, 0, 131069, 536870918, 0, 131070, 5, 0, 131071, 5, 0, 65536, 5, 0, 65537, 5, 0, 65538, 5, 0, 65539, 5, 0, 65540, 6, 0, 65564, 536870915, 0, 65565, 3, 0, 196598, 536870915, 0, 196599, 3, 0, 131080, 536870913, 0, 131081, 0, 0, 131082, 0, 0, 131083, 0, 0, 131084, 0, 0, 131085, 1, 0, 131100, 536870915, 0, 131101, 3, 0, 262134, 536870915, 0, 262135, 3, 0, 196616, 536870921, 0, 196617, 8, 0, 196618, 8, 0, 196619, 8, 0, 196620, 8, 0, 196621, 9, 0, 196626, 536870913, 0, 196627, 0, 0, 196628, 0, 0, 196629, 0, 0, 196630, 0, 0, 196631, 0, 0, 196632, 0, 0, 196633, 0, 0, 196634, 0, 0, 196635, 0, 0, 196636, 536870916, 0, 196637, 3, 0, 327670, 536870915, 0, 327671, 3, 0, 262149, 536870918, 0, 262150, 6, 0, 262162, 536870921, 0, 262163, 536870920, 0, 262164, 536870920, 0, 262165, 536870920, 0, 262166, 536870920, 0, 262167, 536870922, 0, 262168, 7, 0, 262169, 7, 0, 262170, 7, 0, 262171, 7, 0, 262172, 7, 0, 262173, 3, 0, 393206, 536870915, 0, 393207, 3, 0, 327682, 536870918, 0, 327683, 6, 0, 327703, 536870921, 0, 327704, 536870920, 0, 327705, 536870922, 0, 327706, 7, 0, 327707, 7, 0, 327708, 7, 0, 327709, 3, 0, 458742, 536870915, 0, 458743, 4, 0, 458744, 0, 0, 458745, 0, 0, 458746, 1, 0, 393241, 536870921, 0, 393242, 536870920, 0, 393243, 536870920, 0, 393244, 536870922, 0, 393245, 3, 0, 524278, 536870915, 0, 524279, 536870919, 0, 524280, 536870919, 0, 524281, 536870919, 0, 524282, 3, 0, 458754, 536870913, 0, 458755, 0, 0, 458756, 0, 0, 458757, 2, 0, 458764, 536870913, 0, 458765, 1, 0, 458780, 536870915, 0, 458781, 3, 0, 589814, 536870915, 0, 589815, 536870919, 0, 589816, 536870919, 0, 589817, 536870919, 0, 589818, 3, 0, 524290, 536870915, 0, 524291, 7, 0, 524292, 7, 0, 524294, 536870912, 0, 524295, 536870912, 0, 524296, 536870912, 0, 524297, 536870912, 0, 524298, 536870912, 0, 524299, 536870912, 0, 524300, 536870916, 0, 524301, 3, 0, 524316, 536870915, 0, 524317, 3, 0, 655350, 536870915, 0, 655351, 536870919, 0, 655352, 536870919, 0, 655353, 536870919, 0, 655354, 3, 0, 589826, 536870915, 0, 589827, 7, 0, 589828, 7, 0, 589829, 7, 0, 589830, 7, 0, 589831, 7, 0, 589832, 7, 0, 589833, 7, 0, 589834, 7, 0, 589835, 7, 0, 589836, 7, 0, 589837, 4, 0, 589838, 0, 0, 589839, 1, 0, 589852, 536870915, 0, 589853, 3, 0, 720886, 536870915, 0, 720887, 536870919, 0, 720888, 536870919, 0, 720889, 536870919, 0, 720890, 3, 0, 655362, 536870921, 0, 655363, 536870920, 0, 655364, 536870920, 0, 655365, 536870920, 0, 655366, 536870920, 0, 655367, 536870920, 0, 655368, 536870920, 0, 655369, 536870920, 0, 655370, 536870920, 0, 655371, 536870920, 0, 655372, 536870920, 0, 655373, 536870920, 0, 655374, 536870920, 0, 655375, 9, 0, 655388, 536870915, 0, 655389, 3, 0, 786422, 536870915, 0, 786423, 536870919, 0, 786424, 536870919, 0, 786425, 536870919, 0, 786426, 3, 0, 720924, 536870915, 0, 720925, 3, 0, 851958, 536870915, 0, 851959, 536870919, 0, 851960, 536870919, 0, 851961, 536870919, 0, 851962, 3, 0, 786456, 536870918, 0, 786457, 536870917, 0, 786458, 6, 0, 786460, 536870915, 0, 786461, 3, 0, 917494, 536870915, 0, 917495, 536870919, 0, 917496, 536870919, 0, 917497, 536870919, 0, 917498, 4, 0, 917499, 0, 0, 917500, 0, 0, 917501, 0, 0, 917502, 0, 0, 917503, 0, 0, 851968, 0, 0, 851969, 1, 0, 851996, 536870915, 0, 851997, 3, 0, 983030, 536870915, 0, 983031, 536870919, 0, 983032, 536870919, 0, 983033, 536870919, 0, 983034, 536870919, 0, 983035, 536870919, 0, 983036, 536870919, 0, 983037, 536870919, 0, 983038, 536870919, 0, 983039, 536870919, 0, 917504, 536870919, 0, 917505, 3, 0, 917526, 536870913, 0, 917527, 536870912, 0, 917528, 536870912, 0, 917529, 0, 0, 917530, 536870912, 0, 917531, 536870912, 0, 917532, 536870916, 0, 917533, 3, 0, 1048566, 536870915, 0, 1048567, 536870919, 0, 1048568, 536870919, 0, 1048569, 536870919, 0, 1048570, 536870919, 0, 1048571, 536870919, 0, 1048572, 536870919, 0, 1048573, 536870919, 0, 1048574, 536870919, 0, 1048575, 536870919, 0, 983040, 536870919, 0, 983041, 3, 0, 983057, 536870918, 0, 983058, 5, 0, 983059, 6, 0, 983062, 536870915, 0, 983063, 7, 0, 983064, 7, 0, 983065, 7, 0, 983066, 7, 0, 983067, 7, 0, 983068, 7, 0, 983069, 3, 0, 1114102, 536870915, 0, 1114103, 536870919, 0, 1114104, 536870919, 0, 1114105, 536870919, 0, 1114106, 536870919, 0, 1114107, 536870919, 0, 1114108, 536870919, 0, 1114109, 536870919, 0, 1114110, 536870919, 0, 1114111, 536870919, 0, 1048576, 536870919, 0, 1048577, 3, 0, 1048579, 536870926, 0, 1048598, 536870915, 0, 1048599, 7, 0, 1048600, 7, 0, 1048601, 7, 0, 1048602, 7, 0, 1048603, 7, 0, 1048604, 7, 0, 1048605, 3, 0, 1179638, 536870915, 0, 1179639, 536870919, 0, 1179640, 536870919, 0, 1179641, 536870919, 0, 1179642, 536870919, 0, 1179643, 536870919, 0, 1179644, 536870919, 0, 1179645, 536870919, 0, 1179646, 536870919, 0, 1179647, 536870919, 0, 1114112, 536870919, 0, 1114113, 4, 0, 1114114, 0, 0, 1114115, 536870925, 0, 1114116, 0, 0, 1114117, 2, 0, 1114123, 536870926, 0, 1114126, 536870918, 0, 1114127, 5, 0, 1114128, 6, 0, 1114133, 536870914, 0, 1114134, 536870916, 0, 1114135, 7, 0, 1114136, 7, 0, 1114137, 7, 0, 1114138, 7, 0, 1114139, 7, 0, 1114140, 7, 0, 1114141, 3, 0, 1245174, 536870915, 0, 1245175, 536870919, 0, 1245176, 536870919, 0, 1245177, 536870919, 0, 1245178, 536870919, 0, 1245179, 536870919, 0, 1245180, 536870919, 0, 1245181, 536870919, 0, 1245182, 536870919, 0, 1245183, 536870919, 0, 1179648, 536870919, 0, 1179649, 536870919, 0, 1179650, 536870919, 0, 1179651, 536870919, 0, 1179652, 7, 0, 1179654, 2, 0, 1179658, 536870913, 0, 1179659, 536870925, 0, 1179660, 1, 0, 1179668, 536870914, 0, 1179670, 7, 0, 1179671, 7, 0, 1179672, 7, 0, 1179673, 7, 0, 1179674, 7, 0, 1179675, 7, 0, 1179676, 7, 0, 1179677, 3, 0, 1310710, 536870915, 0, 1310711, 536870919, 0, 1310712, 536870919, 0, 1310713, 536870919, 0, 1310714, 536870919, 0, 1310715, 536870919, 0, 1310716, 536870919, 0, 1310717, 536870919, 0, 1310718, 536870919, 0, 1310719, 536870919, 0, 1245184, 536870919, 0, 1245185, 536870919, 0, 1245186, 536870919, 0, 1245187, 536870919, 0, 1245188, 536870919, 0, 1245189, 7, 0, 1245191, 2, 0, 1245194, 536870915, 0, 1245195, 7, 0, 1245196, 3, 0, 1245203, 536870914, 0, 1245205, 7, 0, 1245206, 7, 0, 1245207, 7, 0, 1245208, 7, 0, 1245209, 7, 0, 1245210, 7, 0, 1245211, 7, 0, 1245212, 7, 0, 1245213, 3, 0, 1376246, 536870915, 0, 1376247, 536870919, 0, 1376248, 536870919, 0, 1376249, 536870919, 0, 1376250, 536870919, 0, 1376251, 536870919, 0, 1376252, 536870919, 0, 1376253, 536870919, 0, 1376254, 536870919, 0, 1376255, 536870919, 0, 1310720, 536870919, 0, 1310721, 536870919, 0, 1310722, 536870919, 0, 1310723, 536870919, 0, 1310724, 536870919, 0, 1310725, 536870919, 0, 1310726, 7, 0, 1310728, 536870912, 0, 1310729, 536870912, 0, 1310730, 536870916, 0, 1310731, 7, 0, 1310732, 4, 0, 1310733, 0, 0, 1310734, 0, 0, 1310735, 0, 0, 1310736, 0, 0, 1310737, 0, 0, 1310738, 536870912, 0, 1310740, 7, 0, 1310741, 7, 0, 1310742, 7, 0, 1310743, 7, 0, 1310744, 7, 0, 1310745, 7, 0, 1310746, 7, 0, 1310747, 7, 0, 1310748, 7, 0, 1310749, 3, 0, 1441782, 536870921, 0, 1441783, 536870920, 0, 1441784, 536870920, 0, 1441785, 536870920, 0, 1441786, 536870920, 0, 1441787, 536870920, 0, 1441788, 536870920, 0, 1441789, 536870920, 0, 1441790, 536870920, 0, 1441791, 536870920, 0, 1376256, 536870920, 0, 1376257, 536870920, 0, 1376258, 536870920, 0, 1376259, 536870920, 0, 1376260, 536870920, 0, 1376261, 536870920, 0, 1376262, 536870920, 0, 1376263, 536870920, 0, 1376264, 536870920, 0, 1376265, 536870920, 0, 1376266, 536870920, 0, 1376267, 536870920, 0, 1376268, 536870920, 0, 1376269, 536870920, 0, 1376270, 536870920, 0, 1376271, 536870920, 0, 1376272, 536870920, 0, 1376273, 536870920, 0, 1376274, 536870920, 0, 1376275, 536870920, 0, 1376276, 536870920, 0, 1376277, 536870920, 0, 1376278, 536870920, 0, 1376279, 536870920, 0, 1376280, 536870920, 0, 1376281, 536870920, 0, 1376282, 536870920, 0, 1376283, 536870920, 0, 1376284, 8, 0, 1376285, 9, 0 ) - -[node name="Coins" type="Node" parent="."] - -[node name="CoinsArc" type="Node2D" parent="Coins"] -position = Vector2( 269.878, 573.77 ) - -[node name="Coin" parent="Coins/CoinsArc" instance=ExtResource( 4 )] -position = Vector2( -14.7314, 29.9809 ) - -[node name="Coin2" parent="Coins/CoinsArc" instance=ExtResource( 4 )] -position = Vector2( 0.0855715, 0.070923 ) - -[node name="Coin3" parent="Coins/CoinsArc" instance=ExtResource( 4 )] -position = Vector2( 31.2736, -17.854 ) - -[node name="CoinsVertical" type="Node2D" parent="Coins"] -position = Vector2( 366.022, 518.94 ) - -[node name="Coin" parent="Coins/CoinsVertical" instance=ExtResource( 4 )] -position = Vector2( -0.0551455, 15.9351 ) - -[node name="Coin2" parent="Coins/CoinsVertical" instance=ExtResource( 4 )] -position = Vector2( -0.0551455, -0.0649415 ) - -[node name="Coin3" parent="Coins/CoinsVertical" instance=ExtResource( 4 )] -position = Vector2( -0.0551455, -16.065 ) - -[node name="CoinsVertical2" type="Node2D" parent="Coins"] -position = Vector2( 509.055, -8.98655 ) - -[node name="Coin" parent="Coins/CoinsVertical2" instance=ExtResource( 4 )] -position = Vector2( -0.0551455, 15.9351 ) - -[node name="Coin2" parent="Coins/CoinsVertical2" instance=ExtResource( 4 )] -position = Vector2( -0.0551455, -0.0649415 ) - -[node name="Coin3" parent="Coins/CoinsVertical2" instance=ExtResource( 4 )] -position = Vector2( -0.0551455, -16.065 ) - -[node name="CoinsSquare" type="Node2D" parent="Coins"] -position = Vector2( -214.835, 161.6 ) - -[node name="Coin" parent="Coins/CoinsSquare" instance=ExtResource( 4 )] -position = Vector2( -16, -16 ) - -[node name="Coin2" parent="Coins/CoinsSquare" instance=ExtResource( 4 )] -position = Vector2( 16, -16 ) - -[node name="Coin3" parent="Coins/CoinsSquare" instance=ExtResource( 4 )] -position = Vector2( -16, 16 ) - -[node name="Coin4" parent="Coins/CoinsSquare" instance=ExtResource( 4 )] -position = Vector2( 16, 16 ) - -[node name="CoinsSquare2" type="Node2D" parent="Coins"] -position = Vector2( 347.552, 33.4742 ) - -[node name="Coin" parent="Coins/CoinsSquare2" instance=ExtResource( 4 )] -position = Vector2( -16, -16 ) - -[node name="Coin2" parent="Coins/CoinsSquare2" instance=ExtResource( 4 )] -position = Vector2( 16, -16 ) - -[node name="Coin3" parent="Coins/CoinsSquare2" instance=ExtResource( 4 )] -position = Vector2( -16, 16 ) - -[node name="Coin4" parent="Coins/CoinsSquare2" instance=ExtResource( 4 )] -position = Vector2( 16, 16 ) - -[node name="CoinsSquare3" type="Node2D" parent="Coins"] -position = Vector2( 676.585, 58.6425 ) - -[node name="Coin" parent="Coins/CoinsSquare3" instance=ExtResource( 4 )] -position = Vector2( -16, -16 ) - -[node name="Coin2" parent="Coins/CoinsSquare3" instance=ExtResource( 4 )] -position = Vector2( 16, -16 ) - -[node name="Coin3" parent="Coins/CoinsSquare3" instance=ExtResource( 4 )] -position = Vector2( -16, 16 ) - -[node name="Coin4" parent="Coins/CoinsSquare3" instance=ExtResource( 4 )] -position = Vector2( 16, 16 ) - -[node name="CoinsSquare4" type="Node2D" parent="Coins"] -position = Vector2( 796.29, 58.6425 ) - -[node name="Coin" parent="Coins/CoinsSquare4" instance=ExtResource( 4 )] -position = Vector2( -16, -16 ) - -[node name="Coin2" parent="Coins/CoinsSquare4" instance=ExtResource( 4 )] -position = Vector2( 16, -16 ) - -[node name="Coin3" parent="Coins/CoinsSquare4" instance=ExtResource( 4 )] -position = Vector2( -16, 16 ) - -[node name="Coin4" parent="Coins/CoinsSquare4" instance=ExtResource( 4 )] -position = Vector2( 16, 16 ) - -[node name="CoinsHorizontal" type="Node2D" parent="Coins"] -position = Vector2( 36.6204, 402.991 ) - -[node name="Coin" parent="Coins/CoinsHorizontal" instance=ExtResource( 4 )] -position = Vector2( -16, 0 ) - -[node name="Coin2" parent="Coins/CoinsHorizontal" instance=ExtResource( 4 )] - -[node name="Coin3" parent="Coins/CoinsHorizontal" instance=ExtResource( 4 )] -position = Vector2( 16, 0 ) - -[node name="CoinsHorizontal2" type="Node2D" parent="Coins"] -position = Vector2( 668.605, 431.544 ) - -[node name="Coin" parent="Coins/CoinsHorizontal2" instance=ExtResource( 4 )] -position = Vector2( -16, 0 ) - -[node name="Coin2" parent="Coins/CoinsHorizontal2" instance=ExtResource( 4 )] - -[node name="Coin3" parent="Coins/CoinsHorizontal2" instance=ExtResource( 4 )] -position = Vector2( 16, 0 ) - -[node name="CoinsHorizontal3" type="Node2D" parent="Coins"] -position = Vector2( 335.585, 155.872 ) - -[node name="Coin" parent="Coins/CoinsHorizontal3" instance=ExtResource( 4 )] -position = Vector2( -16, 0 ) - -[node name="Coin2" parent="Coins/CoinsHorizontal3" instance=ExtResource( 4 )] - -[node name="Coin3" parent="Coins/CoinsHorizontal3" instance=ExtResource( 4 )] -position = Vector2( 16, 0 ) - -[node name="CoinsHorizontal4" type="Node2D" parent="Coins"] -position = Vector2( -63.444, 20.5902 ) - -[node name="Coin" parent="Coins/CoinsHorizontal4" instance=ExtResource( 4 )] -position = Vector2( -16, 0 ) - -[node name="Coin2" parent="Coins/CoinsHorizontal4" instance=ExtResource( 4 )] - -[node name="Coin3" parent="Coins/CoinsHorizontal4" instance=ExtResource( 4 )] -position = Vector2( 16, 0 ) - -[node name="CoinsHorizontal5" type="Node2D" parent="Coins"] -position = Vector2( 127.607, 20.5902 ) - -[node name="Coin" parent="Coins/CoinsHorizontal5" instance=ExtResource( 4 )] -position = Vector2( -16, 0 ) - -[node name="Coin2" parent="Coins/CoinsHorizontal5" instance=ExtResource( 4 )] - -[node name="Coin3" parent="Coins/CoinsHorizontal5" instance=ExtResource( 4 )] -position = Vector2( 16, 0 ) - -[node name="Platforms" type="Node" parent="."] - -[node name="Platform" parent="Platforms" instance=ExtResource( 3 )] -position = Vector2( 707, 400 ) - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Platforms/Platform"] -autoplay = "move" -playback_process_mode = 0 -anims/move = SubResource( 1 ) - -[node name="Platform2" parent="Platforms" instance=ExtResource( 3 )] -position = Vector2( -47, 80 ) - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Platforms/Platform2"] -autoplay = "move" -playback_process_mode = 0 -anims/move = SubResource( 2 ) - -[node name="PlatformStatic" type="StaticBody2D" parent="Platforms"] -position = Vector2( 569.935, 105.877 ) -rotation = 0.355618 -z_index = -1 -collision_layer = 16 -collision_mask = 0 - -[node name="Sprite2" type="Sprite" parent="Platforms/PlatformStatic"] -position = Vector2( -88.692, 10.5003 ) -rotation = -0.246293 -texture = ExtResource( 6 ) - -[node name="Sprite" type="Sprite" parent="Platforms/PlatformStatic"] -texture = ExtResource( 6 ) - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Platforms/PlatformStatic"] -position = Vector2( -0.0684814, 0.0254364 ) -polygon = PoolVector2Array( -129.699, 9.94633, -47, -10.5, 8, -7, 10, -1.5, -46.75, -4, -130, 15 ) - -[node name="Enemies" type="Node" parent="."] - -[node name="Enemy" parent="Enemies" instance=ExtResource( 2 )] -position = Vector2( 271.04, 245.639 ) - -[node name="Enemy2" parent="Enemies" instance=ExtResource( 2 )] -position = Vector2( 346.109, 48.5631 ) - -[node name="Enemy3" parent="Enemies" instance=ExtResource( 2 )] -position = Vector2( 632.725, 78.5545 ) - -[node name="Enemy4" parent="Enemies" instance=ExtResource( 2 )] -position = Vector2( 828.515, 77.262 ) - -[node name="ParallaxBackground" parent="." instance=ExtResource( 7 )] - -[node name="Music" type="AudioStreamPlayer" parent="."] -stream = ExtResource( 8 ) -autoplay = true -script = ExtResource( 9 ) diff --git a/2d/platformer/src/Platforms/Platform.tscn b/2d/platformer/src/Platforms/Platform.tscn deleted file mode 100644 index 258089da..00000000 --- a/2d/platformer/src/Platforms/Platform.tscn +++ /dev/null @@ -1,21 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://assets/art/platforms/moving_platform.png" type="Texture" id=2] - -[sub_resource type="RectangleShape2D" id=1] -extents = Vector2( 47, 6 ) - -[node name="Platform" type="KinematicBody2D"] -z_index = -1 -collision_layer = 8 -collision_mask = 0 -collision/safe_margin = 0.12 -motion/sync_to_physics = true - -[node name="Sprite" type="Sprite" parent="."] -texture = ExtResource( 2 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( 0, -4 ) -shape = SubResource( 1 ) -one_way_collision = true diff --git a/2d/platformer/src/UserInterface/CoinsCounter.tscn b/2d/platformer/src/UserInterface/CoinsCounter.tscn deleted file mode 100644 index ce2fbcb0..00000000 --- a/2d/platformer/src/UserInterface/CoinsCounter.tscn +++ /dev/null @@ -1,60 +0,0 @@ -[gd_scene load_steps=10 format=2] - -[ext_resource path="res://assets/theme/user_interface.tres" type="Theme" id=1] -[ext_resource path="res://assets/art/coin/coin.png" type="Texture" id=2] -[ext_resource path="res://src/UserInterface/CoinsCounter.gd" type="Script" id=3] - -[sub_resource type="StyleBoxFlat" id=1] -bg_color = Color( 0, 0, 0, 0.5 ) - -[sub_resource type="AtlasTexture" id=2] -atlas = ExtResource( 2 ) -region = Rect2( 0, 0, 8, 8 ) - -[sub_resource type="AtlasTexture" id=3] -atlas = ExtResource( 2 ) -region = Rect2( 8, 0, 8, 8 ) - -[sub_resource type="AtlasTexture" id=4] -atlas = ExtResource( 2 ) -region = Rect2( 16, 0, 8, 8 ) - -[sub_resource type="AtlasTexture" id=5] -atlas = ExtResource( 2 ) -region = Rect2( 24, 0, 8, 8 ) - -[sub_resource type="SpriteFrames" id=6] -animations = [ { -"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 4 ), SubResource( 3 ) ], -"loop": true, -"name": "coin_spinning", -"speed": 6.5 -} ] - -[node name="CoinsCounter" type="Panel"] -margin_left = 5.0 -margin_top = 5.0 -margin_right = 100.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 100, 45 ) -theme = ExtResource( 1 ) -custom_styles/panel = SubResource( 1 ) -script = ExtResource( 3 ) - -[node name="Label" type="Label" parent="."] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_right = -8.0 -text = "100" -align = 2 -valign = 1 -autowrap = true -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="AnimatedSprite" type="AnimatedSprite" parent="."] -position = Vector2( 21.5, 22.5 ) -scale = Vector2( 4.375, 4.375 ) -frames = SubResource( 6 ) -animation = "coin_spinning" diff --git a/2d/platformer/src/Actors/Actor.gd b/2d/platformer/src/actors/actor.gd similarity index 100% rename from 2d/platformer/src/Actors/Actor.gd rename to 2d/platformer/src/actors/actor.gd diff --git a/2d/platformer/src/Actors/Enemy.gd b/2d/platformer/src/actors/enemy.gd similarity index 95% rename from 2d/platformer/src/Actors/Enemy.gd rename to 2d/platformer/src/actors/enemy.gd index e5786fe3..9a3d5c13 100644 --- a/2d/platformer/src/Actors/Enemy.gd +++ b/2d/platformer/src/actors/enemy.gd @@ -14,6 +14,7 @@ onready var floor_detector_left = $FloorDetectorLeft onready var floor_detector_right = $FloorDetectorRight onready var sprite = $Sprite onready var animation_player = $AnimationPlayer +onready var orig_scale = sprite.scale # This function is called when the scene enters the scene tree. @@ -52,9 +53,9 @@ func _physics_process(_delta): # We flip the Sprite depending on which way the enemy is moving. if _velocity.x > 0: - sprite.scale.x = 1 + sprite.scale.x = orig_scale.x else: - sprite.scale.x = -1 + sprite.scale.x = -orig_scale.x var animation = get_new_animation() if animation != animation_player.current_animation: diff --git a/2d/platformer/src/Actors/Enemy.tscn b/2d/platformer/src/actors/enemy.tscn similarity index 90% rename from 2d/platformer/src/Actors/Enemy.tscn rename to 2d/platformer/src/actors/enemy.tscn index 6d229850..36340cfe 100644 --- a/2d/platformer/src/Actors/Enemy.tscn +++ b/2d/platformer/src/actors/enemy.tscn @@ -4,7 +4,7 @@ [ext_resource path="res://assets/audio/sfx/explode.wav" type="AudioStream" id=2] [ext_resource path="res://assets/audio/sfx/hit.wav" type="AudioStream" id=3] [ext_resource path="res://assets/art/enemy/enemy.png" type="Texture" id=4] -[ext_resource path="res://src/Actors/Enemy.gd" type="Script" id=5] +[ext_resource path="res://src/actors/enemy.gd" type="Script" id=5] [sub_resource type="CanvasItemMaterial" id=1] @@ -22,6 +22,18 @@ tracks/0/keys = { "update": 0, "values": [ 4.0 ] } +tracks/1/type = "value" +tracks/1/path = NodePath("Sprite:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0 ] +} [sub_resource type="Animation" id=2] resource_name = "destroy" @@ -167,9 +179,8 @@ tracks/0/keys = { } [sub_resource type="Animation" id=4] -length = 1.25 +length = 1.6 loop = true -step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("Sprite:frame") tracks/0/interp = 1 @@ -177,14 +188,14 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), -"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, -"values": [ 0, 1, 2, 3, 4, 0 ] +"values": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ] } [sub_resource type="CapsuleShape2D" id=5] -radius = 11.0 +radius = 18.0 height = 7.0 [sub_resource type="CanvasItemMaterial" id=6] @@ -198,7 +209,7 @@ colors = PoolColorArray( 1, 1, 1, 1, 0, 0, 0, 1 ) collision_layer = 2 collision_mask = 24 script = ExtResource( 5 ) -speed = Vector2( 75, 250 ) +speed = Vector2( 32, 250 ) [node name="PlatformDetector" type="RayCast2D" parent="."] position = Vector2( 0, 6 ) @@ -220,12 +231,14 @@ collision_mask = 24 [node name="Sprite" type="Sprite" parent="."] material = SubResource( 1 ) +scale = Vector2( 0.8, 0.8 ) texture = ExtResource( 4 ) flip_h = true hframes = 8 -frame = 7 +vframes = 2 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] +playback_speed = 3.0 anims/RESET = SubResource( 8 ) anims/destroy = SubResource( 2 ) anims/idle = SubResource( 3 ) diff --git a/2d/platformer/src/Actors/Gun.gd b/2d/platformer/src/actors/gun.gd similarity index 86% rename from 2d/platformer/src/Actors/Gun.gd rename to 2d/platformer/src/actors/gun.gd index 67d52b6a..48e8ee38 100644 --- a/2d/platformer/src/Actors/Gun.gd +++ b/2d/platformer/src/actors/gun.gd @@ -4,8 +4,8 @@ extends Position2D # The Cooldown timer controls the cooldown duration between shots. -const BULLET_VELOCITY = 500.0 -const Bullet = preload("res://src/Objects/Bullet.tscn") +const BULLET_VELOCITY = 1000 +const Bullet = preload("res://src/objects/bullet.tscn") onready var sound_shoot = $Shoot onready var timer = $Cooldown diff --git a/2d/platformer/src/Actors/Player.gd b/2d/platformer/src/actors/player.gd similarity index 91% rename from 2d/platformer/src/Actors/Player.gd rename to 2d/platformer/src/actors/player.gd index 9265adc6..e31b1770 100644 --- a/2d/platformer/src/Actors/Player.gd +++ b/2d/platformer/src/actors/player.gd @@ -1,11 +1,12 @@ class_name Player extends Actor - # warning-ignore:unused_signal signal collect_coin() const FLOOR_DETECT_DISTANCE = 20.0 +const MOVE_SPEED = 1.3 +const JUMP_VELOCITY = 1.5 export(String) var action_suffix = "" @@ -15,7 +16,7 @@ onready var shoot_timer = $ShootAnimation onready var sprite = $Sprite onready var sound_jump = $Jump onready var gun = sprite.get_node(@"Gun") - +onready var orig_scale = sprite.scale func _ready(): # Static types are necessary here to avoid warnings. @@ -72,9 +73,9 @@ func _physics_process(_delta): # This will make Robi face left or right depending on the direction you move. if direction.x != 0: if direction.x > 0: - sprite.scale.x = 1 + sprite.scale.x = orig_scale.x else: - sprite.scale.x = -1 + sprite.scale.x = -orig_scale.x # We use the sprite's scale to store Robi’s look direction which allows us to shoot # bullets forward. @@ -93,8 +94,8 @@ func _physics_process(_delta): func get_direction(): return Vector2( - Input.get_action_strength("move_right" + action_suffix) - Input.get_action_strength("move_left" + action_suffix), - -1 if is_on_floor() and Input.is_action_just_pressed("jump" + action_suffix) else 0 + MOVE_SPEED * (Input.get_action_strength("move_right" + action_suffix) - Input.get_action_strength("move_left" + action_suffix)), + -JUMP_VELOCITY if is_on_floor() and Input.is_action_just_pressed("jump" + action_suffix) else 0.0 ) diff --git a/2d/platformer/src/Actors/Player.tscn b/2d/platformer/src/actors/player.tscn similarity index 75% rename from 2d/platformer/src/Actors/Player.tscn rename to 2d/platformer/src/actors/player.tscn index 4222d497..d94a95af 100644 --- a/2d/platformer/src/Actors/Player.tscn +++ b/2d/platformer/src/actors/player.tscn @@ -1,14 +1,14 @@ [gd_scene load_steps=21 format=2] -[ext_resource path="res://src/Actors/Player.gd" type="Script" id=1] -[ext_resource path="res://assets/art/player/robot_demo.png" type="Texture" id=2] -[ext_resource path="res://assets/audio/sfx/jump.wav" type="AudioStream" id=3] -[ext_resource path="res://assets/audio/sfx/shoot.wav" type="AudioStream" id=4] -[ext_resource path="res://assets/art/ui/touch_button_left.png" type="Texture" id=5] -[ext_resource path="res://assets/art/ui/touch_button_right.png" type="Texture" id=6] +[ext_resource path="res://assets/art/ui/touch_button_left.png" type="Texture" id=1] +[ext_resource path="res://assets/art/ui/touch_button_right.png" type="Texture" id=2] +[ext_resource path="res://src/actors/player.gd" type="Script" id=3] +[ext_resource path="res://assets/art/ui/touch_button_fire.png" type="Texture" id=4] +[ext_resource path="res://assets/audio/sfx/jump.wav" type="AudioStream" id=5] +[ext_resource path="res://assets/audio/sfx/shoot.wav" type="AudioStream" id=6] [ext_resource path="res://assets/art/ui/touch_button_jump.png" type="Texture" id=7] -[ext_resource path="res://assets/art/ui/touch_button_fire.png" type="Texture" id=8] -[ext_resource path="res://src/Actors/Gun.gd" type="Script" id=9] +[ext_resource path="res://src/actors/gun.gd" type="Script" id=8] +[ext_resource path="res://assets/art/player/robot.png" type="Texture" id=9] [sub_resource type="Animation" id=1] resource_name = "crouch" @@ -25,7 +25,7 @@ tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, -"values": [ 22 ] +"values": [ 42 ] } [sub_resource type="Animation" id=2] @@ -43,7 +43,7 @@ tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, -"values": [ 21 ] +"values": [ 48 ] } [sub_resource type="Animation" id=3] @@ -65,7 +65,7 @@ tracks/0/keys = { } [sub_resource type="Animation" id=4] -length = 7.0 +length = 2.0 loop = true step = 0.25 tracks/0/type = "value" @@ -75,14 +75,14 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 ), -"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), +"times": PoolRealArray( 0, 0.5, 1, 1.5 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 1, -"values": [ 16, 17, 18, 16, 19, 20, 19, 16 ] +"values": [ 30, 31, 32, 33 ] } [sub_resource type="Animation" id=5] -length = 0.5 +length = 2.0 loop = true step = 0.25 tracks/0/type = "value" @@ -92,10 +92,10 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), +"times": PoolRealArray( 0, 0.5, 1, 1.5 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 1, -"values": [ 25 ] +"values": [ 34, 35, 36, 37 ] } [sub_resource type="Animation" id=6] @@ -109,10 +109,10 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 0.25, 0.5 ), -"transitions": PoolRealArray( 1, 1, 1 ), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 1, -"values": [ 23, 24, 23 ] +"values": [ 45 ] } [sub_resource type="Animation" id=7] @@ -129,13 +129,12 @@ tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, -"values": [ 26 ] +"values": [ 46 ] } [sub_resource type="Animation" id=8] -length = 1.25 +length = 1.5 loop = true -step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("Sprite:frame") tracks/0/interp = 1 @@ -143,16 +142,15 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), -"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"times": PoolRealArray( 0, 0.15, 0.3, 0.45, 0.6, 0.75, 0.9, 1.05, 1.2, 1.35 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, -"values": [ 0, 1, 2, 3, 4, 0 ] +"values": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] } [sub_resource type="Animation" id=9] -length = 1.25 +length = 1.5 loop = true -step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("Sprite:frame") tracks/0/interp = 1 @@ -160,10 +158,10 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), -"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"times": PoolRealArray( 0, 0.15, 0.3, 0.45, 0.6, 0.75, 0.9, 1.05, 1.2, 1.35 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, -"values": [ 5, 6, 7, 8, 9, 5 ] +"values": [ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ] } [sub_resource type="Animation" id=10] @@ -177,18 +175,20 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), -"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"times": PoolRealArray( 0, 0.25, 0.75, 1 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 1, -"values": [ 10, 11, 12, 13, 14, 5 ] +"values": [ 34, 35, 36, 37 ] } [sub_resource type="RectangleShape2D" id=11] -extents = Vector2( 10, 14 ) +extents = Vector2( 21.25, 27.25 ) [node name="Player" type="KinematicBody2D"] +scale = Vector2( 0.8, 0.8 ) collision_mask = 30 -script = ExtResource( 1 ) +script = ExtResource( 3 ) +speed = Vector2( 164, 350 ) [node name="ShootAnimation" type="Timer" parent="."] process_mode = 0 @@ -202,18 +202,18 @@ collision_mask = 8 [node name="Sprite" type="Sprite" parent="."] position = Vector2( 0, -14 ) -texture = ExtResource( 2 ) -hframes = 16 -vframes = 2 -frame = 16 +texture = ExtResource( 9 ) +hframes = 8 +vframes = 8 +frame = 14 [node name="Gun" type="Position2D" parent="Sprite"] position = Vector2( 14, 1 ) -script = ExtResource( 9 ) +script = ExtResource( 8 ) [node name="Shoot" type="AudioStreamPlayer2D" parent="Sprite/Gun"] position = Vector2( -30.6589, -6.13176 ) -stream = ExtResource( 4 ) +stream = ExtResource( 6 ) [node name="Cooldown" type="Timer" parent="Sprite/Gun"] process_mode = 0 @@ -235,8 +235,8 @@ anims/standing_weapon_ready = SubResource( 10 ) [node name="Camera" type="Camera2D" parent="."] position = Vector2( 0, -28 ) +offset = Vector2( 0, 50 ) current = true -zoom = Vector2( 0.5, 0.5 ) process_mode = 0 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] @@ -244,37 +244,37 @@ position = Vector2( 0, -14 ) shape = SubResource( 11 ) [node name="Jump" type="AudioStreamPlayer2D" parent="."] -stream = ExtResource( 3 ) +stream = ExtResource( 5 ) [node name="UI" type="CanvasLayer" parent="."] layer = 0 [node name="Left" type="TouchScreenButton" parent="UI"] -position = Vector2( 27.7593, 360.87 ) -scale = Vector2( 1.49157, 1.46265 ) -normal = ExtResource( 5 ) +position = Vector2( 157, 813 ) +scale = Vector2( 2, 2 ) +normal = ExtResource( 1 ) passby_press = true action = "move_left" visibility_mode = 1 [node name="Right" type="TouchScreenButton" parent="UI"] -position = Vector2( 121.542, 361.415 ) -scale = Vector2( 1.49157, 1.46265 ) -normal = ExtResource( 6 ) +position = Vector2( 425, 813 ) +scale = Vector2( 2, 2 ) +normal = ExtResource( 2 ) passby_press = true action = "move_right" visibility_mode = 1 [node name="Jump" type="TouchScreenButton" parent="UI"] -position = Vector2( 666.224, 359.02 ) -scale = Vector2( 1.49157, 1.46265 ) +position = Vector2( 1871, 813 ) +scale = Vector2( 2, 2 ) normal = ExtResource( 7 ) action = "jump" visibility_mode = 1 [node name="Fire" type="TouchScreenButton" parent="UI"] -position = Vector2( 668.073, 262.788 ) -scale = Vector2( 1.49157, 1.46265 ) -normal = ExtResource( 8 ) +position = Vector2( 1870, 564 ) +scale = Vector2( 2, 2 ) +normal = ExtResource( 4 ) action = "shoot" visibility_mode = 1 diff --git a/2d/platformer/src/Level/Level.gd b/2d/platformer/src/level/level.gd similarity index 100% rename from 2d/platformer/src/Level/Level.gd rename to 2d/platformer/src/level/level.gd diff --git a/2d/platformer/src/level/level.tscn b/2d/platformer/src/level/level.tscn new file mode 100644 index 00000000..e2b477fd --- /dev/null +++ b/2d/platformer/src/level/level.tscn @@ -0,0 +1,1725 @@ +[gd_scene load_steps=25 format=2] + +[ext_resource path="res://assets/art/tileset/tileset.tres" type="TileSet" id=1] +[ext_resource path="res://src/actors/enemy.tscn" type="PackedScene" id=2] +[ext_resource path="res://src/platforms/platform.tscn" type="PackedScene" id=3] +[ext_resource path="res://src/objects/coin.tscn" type="PackedScene" id=4] +[ext_resource path="res://src/level/level.gd" type="Script" id=5] +[ext_resource path="res://assets/art/platforms/moving_platform.png" type="Texture" id=6] +[ext_resource path="res://src/level/parallax_background.tscn" type="PackedScene" id=7] +[ext_resource path="res://assets/audio/music/music.ogg" type="AudioStream" id=8] +[ext_resource path="res://src/level/music.gd" type="Script" id=9] +[ext_resource path="res://assets/art/props/grass_1.png" type="Texture" id=10] +[ext_resource path="res://assets/art/props/flower_1.png" type="Texture" id=11] +[ext_resource path="res://assets/art/props/grass_2.png" type="Texture" id=12] +[ext_resource path="res://assets/art/props/grass_3.png" type="Texture" id=13] +[ext_resource path="res://assets/art/props/tree_1.png" type="Texture" id=14] +[ext_resource path="res://assets/art/props/tree_2.png" type="Texture" id=15] +[ext_resource path="res://assets/art/props/bush_1.png" type="Texture" id=16] +[ext_resource path="res://assets/art/props/rock_1.png" type="Texture" id=17] +[ext_resource path="res://assets/shaders/wind_sway.tres" type="Material" id=18] +[ext_resource path="res://assets/art/props/fern_1.png" type="Texture" id=19] +[ext_resource path="res://assets/art/props/ground_flowers_1.png" type="Texture" id=20] +[ext_resource path="res://assets/art/props/vine_1.png" type="Texture" id=21] +[ext_resource path="res://assets/art/props/vine_2.png" type="Texture" id=22] + +[sub_resource type="Animation" id=1] +resource_name = "move" +length = 4.0 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.001, 2, 4 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 707, 400 ), Vector2( 800, 410 ), Vector2( 800, 200 ), Vector2( 800, 410 ) ] +} + +[sub_resource type="Animation" id=2] +length = 8.0 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 4, 8 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( -28, 645 ), Vector2( -28, 350 ), Vector2( -28, 645 ) ] +} + +[node name="Level" type="Node2D"] +pause_mode = 1 +script = ExtResource( 5 ) + +[node name="TileMap" type="TileMap" parent="."] +z_index = 1 +tile_set = ExtResource( 1 ) +cell_quadrant_size = 32 +cell_custom_transform = Transform2D( 128, 0, 0, 128, 0, 0 ) +show_collision = true +collision_layer = 16 +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( -65546, 536870913, 0, -65545, 1, 0, -131044, 536870913, 0, -131043, 1, 0, -10, 536870915, 0, -9, 3, 0, -65508, 536870915, 0, -65507, 3, 0, 65524, 536870922, 0, 65525, 8, 0, 65526, 8, 0, 65527, 8, 0, 65528, 8, 0, 65529, 8, 0, 65530, 8, 0, 65531, 8, 0, 65532, 10, 0, 14, 536870922, 0, 15, 536870920, 0, 16, 8, 0, 17, 8, 0, 18, 8, 0, 19, 8, 0, 20, 8, 0, 21, 8, 0, 22, 10, 0, 28, 536870915, 0, 29, 3, 0, 131060, 536870927, 0, 131061, 14, 0, 131062, 14, 0, 131063, 14, 0, 131064, 14, 0, 131065, 14, 0, 131066, 14, 0, 131067, 14, 0, 131068, 15, 0, 131069, 536870918, 0, 65536, 5, 0, 65537, 5, 0, 65538, 536870924, 0, 65539, 11, 0, 65540, 11, 0, 65541, 536870923, 0, 65542, 12, 0, 65550, 536870927, 0, 65551, 536870926, 0, 65552, 14, 0, 65553, 14, 0, 65554, 14, 0, 65555, 14, 0, 65556, 14, 0, 65557, 14, 0, 65558, 15, 0, 65564, 536870915, 0, 65565, 3, 0, 196596, 536870927, 0, 196597, 14, 0, 196598, 14, 0, 196599, 14, 0, 196600, 14, 0, 196601, 14, 0, 196602, 14, 0, 196603, 14, 0, 196604, 15, 0, 196607, 536870924, 0, 131072, 12, 0, 131080, 536870913, 0, 131081, 0, 0, 131082, 0, 0, 131083, 0, 0, 131084, 0, 0, 131085, 1, 0, 131086, 536870927, 0, 131087, 536870926, 0, 131088, 14, 0, 131089, 14, 0, 131090, 14, 0, 131091, 14, 0, 131092, 14, 0, 131093, 14, 0, 131094, 15, 0, 131100, 536870915, 0, 131101, 3, 0, 262132, 536870927, 0, 262133, 14, 0, 262134, 14, 0, 262135, 14, 0, 262136, 14, 0, 262137, 14, 0, 262138, 14, 0, 262139, 14, 0, 262140, 15, 0, 196614, 536870924, 0, 196615, 536870923, 0, 196616, 12, 0, 196622, 536870927, 0, 196623, 536870926, 0, 196624, 14, 0, 196625, 14, 0, 196626, 14, 0, 196627, 14, 0, 196628, 14, 0, 196629, 14, 0, 196630, 15, 0, 196631, 0, 0, 196632, 0, 0, 196633, 0, 0, 196634, 0, 0, 196635, 0, 0, 196636, 536870916, 0, 196637, 3, 0, 327668, 536870927, 0, 327669, 14, 0, 327670, 14, 0, 327671, 14, 0, 327672, 14, 0, 327673, 14, 0, 327674, 14, 0, 327675, 14, 0, 327676, 16, 0, 327677, 10, 0, 262158, 536870927, 0, 262159, 536870926, 0, 262160, 14, 0, 262161, 14, 0, 262162, 14, 0, 262163, 14, 0, 262164, 14, 0, 262165, 14, 0, 262166, 15, 0, 262168, 7, 0, 262169, 7, 0, 262170, 7, 0, 262171, 7, 0, 262172, 7, 0, 262173, 3, 0, 393204, 536870927, 0, 393205, 14, 0, 393206, 14, 0, 393207, 14, 0, 393208, 14, 0, 393209, 14, 0, 393210, 14, 0, 393211, 14, 0, 393212, 14, 0, 393213, 15, 0, 327681, 536870924, 0, 327682, 11, 0, 327683, 12, 0, 327694, 536870927, 0, 327695, 536870926, 0, 327696, 14, 0, 327697, 14, 0, 327698, 14, 0, 327699, 14, 0, 327700, 14, 0, 327701, 14, 0, 327702, 15, 0, 327707, 7, 0, 327708, 7, 0, 327709, 3, 0, 458740, 536870927, 0, 458741, 14, 0, 458742, 14, 0, 458743, 14, 0, 458744, 14, 0, 458745, 14, 0, 458746, 14, 0, 458747, 14, 0, 458748, 536870939, 0, 458749, 15, 0, 393222, 536870922, 0, 393223, 19, 0, 393224, 21, 0, 393225, 19, 0, 393226, 10, 0, 393230, 536870927, 0, 393231, 536870926, 0, 393232, 14, 0, 393233, 14, 0, 393234, 14, 0, 393235, 14, 0, 393236, 14, 0, 393237, 14, 0, 393238, 15, 0, 524276, 536870927, 0, 524277, 14, 0, 524278, 14, 0, 524279, 14, 0, 524280, 14, 0, 524281, 14, 0, 524282, 14, 0, 524283, 14, 0, 524284, 14, 0, 524285, 15, 0, 458753, 536870924, 0, 458754, 536870923, 0, 458755, 536870923, 0, 458756, 12, 0, 458757, 2, 0, 458758, 536870936, 0, 458759, 536870935, 0, 458760, 22, 0, 458761, 22, 0, 458762, 24, 0, 458764, 536870913, 0, 458765, 1, 0, 458766, 536870927, 0, 458767, 536870926, 0, 458768, 14, 0, 458769, 14, 0, 458770, 14, 0, 458771, 14, 0, 458772, 14, 0, 458773, 14, 0, 458774, 15, 0, 458781, 3, 0, 589812, 536870927, 0, 589813, 14, 0, 589814, 14, 0, 589815, 14, 0, 589816, 14, 0, 589817, 14, 0, 589818, 14, 0, 589819, 14, 0, 589820, 14, 0, 589821, 15, 0, 524291, 7, 0, 524292, 7, 0, 524297, 536870912, 0, 524298, 536870912, 0, 524299, 536870912, 0, 524300, 536870916, 0, 524301, 3, 0, 524302, 536870927, 0, 524303, 536870926, 0, 524304, 14, 0, 524305, 14, 0, 524306, 14, 0, 524307, 14, 0, 524308, 14, 0, 524309, 14, 0, 524310, 15, 0, 524316, 536870915, 0, 524317, 3, 0, 655348, 536870927, 0, 655349, 14, 0, 655350, 14, 0, 655351, 14, 0, 655352, 14, 0, 655353, 14, 0, 655354, 14, 0, 655355, 14, 0, 655356, 536870939, 0, 655357, 15, 0, 589827, 7, 0, 589828, 7, 0, 589831, 7, 0, 589832, 7, 0, 589834, 7, 0, 589835, 7, 0, 589836, 7, 0, 589837, 536870929, 0, 589838, 536870928, 0, 589839, 536870926, 0, 589840, 14, 0, 589841, 14, 0, 589842, 14, 0, 589843, 14, 0, 589844, 14, 0, 589845, 14, 0, 589846, 15, 0, 589852, 536870915, 0, 589853, 3, 0, 720884, 536870927, 0, 720885, 14, 0, 720886, 14, 0, 720887, 14, 0, 720888, 14, 0, 720889, 14, 0, 720890, 14, 0, 720891, 14, 0, 720892, 14, 0, 720893, 16, 0, 720894, 21, 0, 720895, 19, 0, 655360, 19, 0, 655361, 21, 0, 655362, 21, 0, 655363, 19, 0, 655364, 19, 0, 655365, 21, 0, 655366, 19, 0, 655367, 21, 0, 655368, 19, 0, 655369, 21, 0, 655370, 19, 0, 655371, 19, 0, 655372, 21, 0, 655373, 536870930, 0, 655374, 536870926, 0, 655375, 536870926, 0, 655376, 14, 0, 655377, 14, 0, 655378, 14, 0, 655379, 14, 0, 655380, 14, 0, 655381, 14, 0, 655382, 15, 0, 655388, 536870915, 0, 655389, 3, 0, 786420, 536870927, 0, 786421, 14, 0, 786422, 14, 0, 786423, 14, 0, 786424, 14, 0, 786425, 14, 0, 786426, 14, 0, 786427, 14, 0, 786428, 14, 0, 786429, 14, 0, 786430, 14, 0, 786431, 14, 0, 720896, 27, 0, 720897, 14, 0, 720898, 27, 0, 720899, 14, 0, 720900, 27, 0, 720901, 14, 0, 720902, 14, 0, 720903, 14, 0, 720904, 536870939, 0, 720905, 27, 0, 720906, 14, 0, 720907, 14, 0, 720908, 536870939, 0, 720909, 14, 0, 720910, 536870926, 0, 720911, 536870926, 0, 720912, 14, 0, 720913, 14, 0, 720914, 14, 0, 720915, 14, 0, 720916, 14, 0, 720917, 14, 0, 720918, 15, 0, 720924, 536870915, 0, 720925, 3, 0, 851956, 536870927, 0, 851957, 14, 0, 851958, 14, 0, 851959, 14, 0, 851960, 14, 0, 851961, 14, 0, 851962, 14, 0, 851963, 14, 0, 851964, 536870934, 0, 851965, 536870934, 0, 851966, 22, 0, 851967, 22, 0, 786432, 22, 0, 786433, 22, 0, 786434, 22, 0, 786435, 22, 0, 786436, 22, 0, 786437, 27, 0, 786438, 22, 0, 786439, 22, 0, 786440, 22, 0, 786441, 22, 0, 786442, 22, 0, 786443, 22, 0, 786444, 22, 0, 786445, 22, 0, 786446, 536870926, 0, 786447, 536870926, 0, 786448, 14, 0, 786449, 14, 0, 786450, 14, 0, 786451, 14, 0, 786452, 14, 0, 786453, 14, 0, 786454, 15, 0, 786457, 536870917, 0, 786458, 6, 0, 786460, 536870915, 0, 786461, 3, 0, 917494, 536870915, 0, 917495, 536870919, 0, 917496, 536870919, 0, 917497, 536870919, 0, 917498, 4, 0, 917499, 0, 0, 917500, 0, 0, 917501, 0, 0, 917502, 0, 0, 917503, 0, 0, 851968, 0, 0, 851969, 1, 0, 851996, 536870915, 0, 851997, 3, 0, 983030, 536870915, 0, 983031, 536870919, 0, 983032, 536870919, 0, 983033, 536870919, 0, 983034, 536870919, 0, 983035, 536870919, 0, 983036, 536870919, 0, 983037, 536870919, 0, 983038, 536870919, 0, 983039, 536870919, 0, 917504, 536870919, 0, 917505, 3, 0, 917527, 536870912, 0, 917528, 536870912, 0, 917529, 0, 0, 917530, 536870912, 0, 917531, 536870912, 0, 917532, 536870916, 0, 917533, 3, 0, 1048566, 536870915, 0, 1048567, 536870919, 0, 1048568, 536870919, 0, 1048569, 536870919, 0, 1048570, 536870919, 0, 1048571, 536870919, 0, 1048572, 536870919, 0, 1048573, 536870919, 0, 1048574, 536870919, 0, 1048575, 536870919, 0, 983040, 536870919, 0, 983041, 3, 0, 983057, 536870918, 0, 983058, 5, 0, 983059, 6, 0, 983063, 7, 0, 983064, 7, 0, 983065, 7, 0, 983066, 7, 0, 983067, 7, 0, 983068, 7, 0, 983069, 3, 0, 1114102, 536870915, 0, 1114103, 536870919, 0, 1114104, 536870919, 0, 1114105, 536870919, 0, 1114106, 536870919, 0, 1114107, 536870919, 0, 1114108, 536870919, 0, 1114109, 536870919, 0, 1114110, 536870919, 0, 1114111, 536870919, 0, 1048576, 536870919, 0, 1048577, 3, 0, 1048599, 7, 0, 1048600, 7, 0, 1048601, 7, 0, 1048602, 7, 0, 1048603, 7, 0, 1048604, 7, 0, 1048605, 3, 0, 1179638, 536870915, 0, 1179639, 536870919, 0, 1179640, 536870919, 0, 1179641, 536870919, 0, 1179642, 536870919, 0, 1179643, 536870919, 0, 1179644, 536870919, 0, 1179645, 536870919, 0, 1179646, 536870919, 0, 1179647, 536870919, 0, 1114112, 536870919, 0, 1114113, 4, 0, 1114114, 0, 0, 1114116, 0, 0, 1114117, 2, 0, 1114126, 536870918, 0, 1114127, 5, 0, 1114128, 6, 0, 1114139, 7, 0, 1114140, 7, 0, 1114141, 3, 0, 1245174, 536870915, 0, 1245175, 536870919, 0, 1245176, 536870919, 0, 1245177, 536870919, 0, 1245178, 536870919, 0, 1245179, 536870919, 0, 1245180, 536870919, 0, 1245181, 536870919, 0, 1245182, 536870919, 0, 1245183, 536870919, 0, 1179648, 536870919, 0, 1179649, 536870919, 0, 1179650, 536870919, 0, 1179651, 536870919, 0, 1179652, 7, 0, 1179654, 2, 0, 1179658, 536870913, 0, 1179660, 1, 0, 1179668, 536870914, 0, 1179670, 7, 0, 1179671, 7, 0, 1179676, 7, 0, 1179677, 3, 0, 1310710, 536870915, 0, 1310711, 536870919, 0, 1310712, 536870919, 0, 1310713, 536870919, 0, 1310714, 536870919, 0, 1310715, 536870919, 0, 1310716, 536870919, 0, 1310717, 536870919, 0, 1310718, 536870919, 0, 1310719, 536870919, 0, 1245184, 536870919, 0, 1245185, 536870919, 0, 1245186, 536870919, 0, 1245187, 536870919, 0, 1245188, 536870919, 0, 1245189, 7, 0, 1245191, 2, 0, 1245194, 536870915, 0, 1245195, 7, 0, 1245196, 3, 0, 1245203, 536870914, 0, 1245205, 7, 0, 1245206, 7, 0, 1245207, 7, 0, 1245208, 7, 0, 1245209, 7, 0, 1245210, 7, 0, 1245213, 3, 0, 1376251, 536870919, 0, 1376252, 536870919, 0, 1376253, 536870919, 0, 1376254, 536870919, 0, 1376255, 536870919, 0, 1310720, 536870919, 0, 1310721, 536870919, 0, 1310722, 536870919, 0, 1310723, 536870919, 0, 1310724, 536870919, 0, 1310725, 536870919, 0, 1310726, 7, 0, 1310728, 536870912, 0, 1310729, 536870912, 0, 1310730, 536870916, 0, 1310731, 7, 0, 1310732, 4, 0, 1310733, 0, 0, 1310734, 0, 0, 1310735, 0, 0, 1310736, 0, 0, 1310737, 0, 0, 1310738, 536870912, 0, 1310740, 7, 0, 1310741, 7, 0, 1310742, 7, 0, 1310743, 7, 0, 1310744, 7, 0, 1310745, 7, 0, 1310746, 7, 0, 1310747, 7, 0 ) + +[node name="Grass" type="Node" parent="."] + +[node name="g1" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 173, 636 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g58" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 375, 642 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g63" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 434, 641 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g65" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 480, 642 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g60" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 413, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g23" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -44, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g13" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 252, 641 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g41" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 549, 641 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g48" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 740, 641 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g55" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 206, 67 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g44" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 658, 639 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g12" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 324, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g40" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 598, 639 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g46" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 695, 641 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g43" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 705, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g25" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 427, 382 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g30" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 612, 383 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g37" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 109, 319 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g9" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -20, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g18" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -86, 641 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g8" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 116, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g21" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -34, 642 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g22" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -34, 642 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g6" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 51, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g16" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -108, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g2" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 275, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g39" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 564, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g51" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -185, 255 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g47" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 753, 639 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g42" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 610, 641 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g45" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 669, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g14" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 164, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g59" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 386, 639 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g64" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 445, 639 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g66" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 492, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g26" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 439, 381 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g75" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 499, 74 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g73" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 563, 82 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g33" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 204, 319 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g36" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 132, 318 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g38" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 99, 318 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="f1" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 78, 312 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f12" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -47, 119 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f13" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -447, -10 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f2" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 417, 629 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f9" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 16, 629 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f5" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 641, 629 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f7" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 433, 61 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f8" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 411, 374 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f10" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 295, 434 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f11" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 495, 187 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f3" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 524, 70 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f4" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 973, -10 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="F5" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 835, 628 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="f6" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 637, 376 ) +z_index = -1 +texture = ExtResource( 19 ) + +[node name="g29" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 603, 381 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g74" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 578, 88 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g27" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 498, 381 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g34" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 228, 318 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g70" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 467.8, 189.8 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g71" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 563.8, 189.8 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g78" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 50.0001, 128 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g7" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 107, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g69" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 272, 447 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g20" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -58, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g17" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -96, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g3" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 96, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g53" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 216.8, 445.8 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 13 ) + +[node name="g56" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 150.8, 446.8 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 12 ) + +[node name="g68" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 139.8, 447.8 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g67" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 40, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g49" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 645, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g50" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 764, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g52" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 186, 66 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g72" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 404, 190 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g77" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -14, 124 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g57" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -163, 255 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g54" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 227, 64 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g4" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 366, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g61" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 424, 639 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g62" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 400, 639 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g11" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 317, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g10" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 262, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g24" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 416, 382 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="v1" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 303, 505 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v2" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 212, 497 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v44" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 216, 688 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v45" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 414, 689 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v7" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 97, 497 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v43" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 91, 690 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v47" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 445, 686 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v48" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 754, 686 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v49" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 785, 683 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v46" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -163, 303 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v8" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 241, 500 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v28" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 443, 429 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v29" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 524, 428 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v30" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 561, 430 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v31" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 589, 430 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v32" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 649, 431 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v33" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 692, 432 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v34" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 562, 238 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v35" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 481, 238 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v36" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 423, 239 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v37" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 506, 237 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v9" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 145, 365 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v21" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 260, 113 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v22" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 143, 112 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v23" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 405, 113 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v27" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 605, 146 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v25" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 636, 160 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v26" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 636, 160 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v24" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 385, 113 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v10" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 30, 176 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 22 ) + +[node name="v11" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -30, 177 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 21 ) + +[node name="v12" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 0, 178 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v13" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 204, 114 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v14" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 358, 132 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v15" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 440, 131 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 22 ) + +[node name="v16" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 307, 115 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v17" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 535, 137 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v38" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 456, 253 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 22 ) + +[node name="v39" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 541, 245 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v18" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 693, 190 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 22 ) + +[node name="v19" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 509, 517 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v20" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 414, 534 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v40" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 656, 532 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 22 ) + +[node name="v41" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 686, 515 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v42" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 489, 537 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 22 ) + +[node name="v3" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 276, 503 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 22 ) + +[node name="v4" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 194, 386 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v5" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 95, 371 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="v6" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 244, 374 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 21 ) + +[node name="g32" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 217, 319 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g35" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 120, 319 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g31" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 623, 382 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g79" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 1069, 380 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g76" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 591, 89 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g28" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( 507, 381 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g5" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -9, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g19" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -76, 640 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="g15" type="Sprite" parent="Grass"] +material = ExtResource( 18 ) +position = Vector2( -118, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 10 ) + +[node name="Flowers" type="Node" parent="."] + +[node name="Flower1" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 314, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower9" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 459, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower10" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 618, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower11" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 714, 639 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower12" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 244, 314 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower5" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 83, 637 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower13" type="Sprite" parent="Flowers"] +position = Vector2( 160, 651 ) +scale = Vector2( 0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower14" type="Sprite" parent="Flowers"] +position = Vector2( 370, 652 ) +scale = Vector2( 0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower20" type="Sprite" parent="Flowers"] +position = Vector2( 186, 457 ) +scale = Vector2( 0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower21" type="Sprite" parent="Flowers"] +position = Vector2( 208, 456 ) +scale = Vector2( 0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower22" type="Sprite" parent="Flowers"] +position = Vector2( 324.8, 75.8001 ) +scale = Vector2( 0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower23" type="Sprite" parent="Flowers"] +position = Vector2( 346.8, 74.8 ) +scale = Vector2( 0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower15" type="Sprite" parent="Flowers"] +position = Vector2( 509, 652 ) +scale = Vector2( -0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower16" type="Sprite" parent="Flowers"] +position = Vector2( 714, 649 ) +scale = Vector2( -0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower18" type="Sprite" parent="Flowers"] +position = Vector2( 654, 395 ) +scale = Vector2( -0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower17" type="Sprite" parent="Flowers"] +position = Vector2( 727, 653 ) +scale = Vector2( 0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower19" type="Sprite" parent="Flowers"] +position = Vector2( 556, 394 ) +scale = Vector2( 0.8, 0.8 ) +z_index = 1 +texture = ExtResource( 20 ) + +[node name="Flower6" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( -67, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower2" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 191, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower4" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 126, 638 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower7" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 448, 382 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower8" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( -142, 254 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Flower3" type="Sprite" parent="Flowers"] +material = ExtResource( 18 ) +position = Vector2( 584, 382 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 11 ) + +[node name="Coins" type="Node" parent="."] + +[node name="CoinsHorizontal1" type="Node2D" parent="Coins"] +position = Vector2( 700, 610 ) + +[node name="Coin" parent="Coins/CoinsHorizontal1" instance=ExtResource( 4 )] + +[node name="Coin2" parent="Coins/CoinsHorizontal1" instance=ExtResource( 4 )] +position = Vector2( 30, 0 ) + +[node name="Coin3" parent="Coins/CoinsHorizontal1" instance=ExtResource( 4 )] +position = Vector2( 60, 0 ) + +[node name="CoinsHorizontal3" type="Node2D" parent="Coins"] +position = Vector2( 154, 43 ) + +[node name="Coin" parent="Coins/CoinsHorizontal3" instance=ExtResource( 4 )] + +[node name="Coin2" parent="Coins/CoinsHorizontal3" instance=ExtResource( 4 )] +position = Vector2( 30, 0 ) + +[node name="Coin3" parent="Coins/CoinsHorizontal3" instance=ExtResource( 4 )] +position = Vector2( 60, 0 ) + +[node name="CoinsHorizontal2" type="Node2D" parent="Coins"] +position = Vector2( 200, 610 ) + +[node name="Coin" parent="Coins/CoinsHorizontal2" instance=ExtResource( 4 )] + +[node name="Coin2" parent="Coins/CoinsHorizontal2" instance=ExtResource( 4 )] +position = Vector2( 30, 0 ) + +[node name="Coin3" parent="Coins/CoinsHorizontal2" instance=ExtResource( 4 )] +position = Vector2( 60, 0 ) + +[node name="CoinsArc1" type="Node2D" parent="Coins"] +position = Vector2( 307, 594 ) + +[node name="Coin" parent="Coins/CoinsArc1" instance=ExtResource( 4 )] + +[node name="Coin2" parent="Coins/CoinsArc1" instance=ExtResource( 4 )] +position = Vector2( 30, -10 ) + +[node name="Coin3" parent="Coins/CoinsArc1" instance=ExtResource( 4 )] +position = Vector2( 60, 0 ) + +[node name="CoinsArc2" type="Node2D" parent="Coins"] +position = Vector2( 453, 332 ) + +[node name="Coin" parent="Coins/CoinsArc2" instance=ExtResource( 4 )] + +[node name="Coin2" parent="Coins/CoinsArc2" instance=ExtResource( 4 )] +position = Vector2( 30, -10 ) + +[node name="Coin3" parent="Coins/CoinsArc2" instance=ExtResource( 4 )] +position = Vector2( 60, 0 ) + +[node name="CoinsArc4" type="Node2D" parent="Coins"] +position = Vector2( 122, 406 ) + +[node name="Coin" parent="Coins/CoinsArc4" instance=ExtResource( 4 )] + +[node name="Coin2" parent="Coins/CoinsArc4" instance=ExtResource( 4 )] +position = Vector2( 30, -10 ) + +[node name="Coin3" parent="Coins/CoinsArc4" instance=ExtResource( 4 )] +position = Vector2( 60, 0 ) + +[node name="CoinsArc3" type="Node2D" parent="Coins"] +position = Vector2( 594, 332 ) + +[node name="Coin" parent="Coins/CoinsArc3" instance=ExtResource( 4 )] + +[node name="Coin2" parent="Coins/CoinsArc3" instance=ExtResource( 4 )] +position = Vector2( 30, -10 ) + +[node name="Coin3" parent="Coins/CoinsArc3" instance=ExtResource( 4 )] +position = Vector2( 60, 0 ) + +[node name="Platforms" type="Node" parent="."] + +[node name="Platform" parent="Platforms" instance=ExtResource( 3 )] +position = Vector2( 800, 404 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Platforms/Platform"] +autoplay = "move" +playback_process_mode = 0 +anims/move = SubResource( 1 ) + +[node name="Platform2" parent="Platforms" instance=ExtResource( 3 )] +position = Vector2( -28, 620 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Platforms/Platform2"] +autoplay = "move" +playback_process_mode = 0 +anims/move = SubResource( 2 ) + +[node name="PlatformStatic" type="StaticBody2D" parent="Platforms"] +position = Vector2( 611, 135 ) +rotation = 0.355618 +z_index = -1 +collision_layer = 16 +collision_mask = 0 + +[node name="Sprite2" type="Sprite" parent="Platforms/PlatformStatic"] +position = Vector2( -88.692, 10.5003 ) +rotation = -0.246293 +texture = ExtResource( 6 ) + +[node name="Sprite" type="Sprite" parent="Platforms/PlatformStatic"] +texture = ExtResource( 6 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Platforms/PlatformStatic"] +position = Vector2( -3.20203, -8.41145 ) +polygon = PoolVector2Array( -170.838, 7.9798, -90.8381, -15.201, 95.0401, -20.233, 83.4959, 3.25599, -51.1185, 8.44958, -176.787, 34.856 ) + +[node name="Enemies" type="Node" parent="."] + +[node name="Enemy2" parent="Enemies" instance=ExtResource( 2 )] +position = Vector2( 544, 355 ) +z_index = 2 + +[node name="Enemy3" parent="Enemies" instance=ExtResource( 2 )] +position = Vector2( 492, 610 ) +z_index = 2 + +[node name="Enemy4" parent="Enemies" instance=ExtResource( 2 )] +position = Vector2( 395, 53 ) +z_index = 2 + +[node name="ParallaxBackground" parent="." instance=ExtResource( 7 )] + +[node name="Music" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 8 ) +autoplay = true +script = ExtResource( 9 ) + +[node name="Trees" type="Node" parent="."] + +[node name="T1" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( 587, 586 ) +z_index = 1 +texture = ExtResource( 14 ) + +[node name="T4" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( 282, 11 ) +z_index = 1 +texture = ExtResource( 14 ) + +[node name="T7" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( 3, 77 ) +z_index = 1 +texture = ExtResource( 14 ) + +[node name="T8" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( -315, -51 ) +z_index = 1 +texture = ExtResource( 14 ) + +[node name="T10" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( 1140, -48 ) +z_index = 1 +texture = ExtResource( 14 ) + +[node name="T2" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( 168, 266 ) +z_index = 1 +texture = ExtResource( 15 ) + +[node name="T6" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( 422, 9 ) +z_index = 1 +texture = ExtResource( 15 ) + +[node name="T3" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( 1011, -50 ) +z_index = 1 +texture = ExtResource( 15 ) + +[node name="T9" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( -406, -49 ) +z_index = 1 +texture = ExtResource( 15 ) + +[node name="T5" type="Sprite" parent="Trees"] +material = ExtResource( 18 ) +position = Vector2( 129, 588 ) +z_index = 1 +texture = ExtResource( 15 ) + +[node name="Bushes" type="Node" parent="."] + +[node name="B1" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 278, 620 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B13" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 483, 627 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B17" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 320, 49 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B7" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 485, 369 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B24" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 185, 433 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B22" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 473, 57 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B16" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( -75, 628 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B11" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( -230, -10 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B14" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 162, 66 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B12" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 927, -3 ) +rotation = -0.462162 +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B9" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 637, 379 ) +rotation = 0.181514 +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B20" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 643, 110 ) +rotation = 0.181514 +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B10" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( -233, -2 ) +rotation = -2.96008 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B31" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( -498.685, -14.4639 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B32" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( -501.685, -6.46387 ) +rotation = -2.96008 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B33" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 1141.31, -16.4639 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B34" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 1138.31, -8.46387 ) +rotation = -2.96008 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B21" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 669, 113 ) +rotation = -2.96008 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B27" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 572, 191 ) +rotation = -2.96008 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B28" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 63, 140 ) +rotation = -2.96008 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B15" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( -74, 645 ) +rotation = -2.96008 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) +offset = Vector2( 35.3364, -1.40192 ) + +[node name="B5" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 142, 643 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B4" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 324, 639 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B26" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 105, 451 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B2" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 526, 637 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B8" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 522, 387 ) +rotation = 2.70506 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B6" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 803, 622 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B29" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 707, 621 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B30" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 739, 638 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B23" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 669, 629 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B18" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 373, 60 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B3" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 224, 634 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B25" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 142, 439 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="B19" type="Sprite" parent="Bushes"] +material = ExtResource( 18 ) +position = Vector2( 261, 57 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 16 ) + +[node name="Rocks" type="Node" parent="."] + +[node name="R1" type="Sprite" parent="Rocks"] +position = Vector2( 376, 624 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R9" type="Sprite" parent="Rocks"] +position = Vector2( 240, 426 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R10" type="Sprite" parent="Rocks"] +position = Vector2( 428, 182 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R11" type="Sprite" parent="Rocks"] +position = Vector2( 445, 197 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R8" type="Sprite" parent="Rocks"] +position = Vector2( 762, 634 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R7" type="Sprite" parent="Rocks"] +position = Vector2( 194, 316 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R3" type="Sprite" parent="Rocks"] +position = Vector2( 573, 378 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R5" type="Sprite" parent="Rocks"] +position = Vector2( -187, 232 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R12" type="Sprite" parent="Rocks"] +position = Vector2( -164, 256 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R6" type="Sprite" parent="Rocks"] +position = Vector2( 558, 62 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R4" type="Sprite" parent="Rocks"] +position = Vector2( 1048, -17 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R13" type="Sprite" parent="Rocks"] +position = Vector2( -356, -17 ) +z_index = -2 +texture = ExtResource( 17 ) + +[node name="R2" type="Sprite" parent="Rocks"] +position = Vector2( 72, 639 ) +scale = Vector2( 0.5, 0.5 ) +z_index = -2 +texture = ExtResource( 17 ) diff --git a/2d/platformer/src/Level/Music.gd b/2d/platformer/src/level/music.gd similarity index 100% rename from 2d/platformer/src/Level/Music.gd rename to 2d/platformer/src/level/music.gd diff --git a/2d/platformer/src/Level/ParallaxBackground.tscn b/2d/platformer/src/level/parallax_background.tscn similarity index 60% rename from 2d/platformer/src/Level/ParallaxBackground.tscn rename to 2d/platformer/src/level/parallax_background.tscn index 5ce15041..819be931 100644 --- a/2d/platformer/src/Level/ParallaxBackground.tscn +++ b/2d/platformer/src/level/parallax_background.tscn @@ -2,19 +2,26 @@ [ext_resource path="res://assets/art/background/distant_platforms_2.png" type="Texture" id=1] [ext_resource path="res://assets/art/background/sky.png" type="Texture" id=2] -[ext_resource path="res://assets/art/background/cloud_1.png" type="Texture" id=3] -[ext_resource path="res://assets/art/background/cloud_2.png" type="Texture" id=4] -[ext_resource path="res://assets/art/background/cloud_3.png" type="Texture" id=5] +[ext_resource path="res://assets/art/background/cloud_3.png" type="Texture" id=3] +[ext_resource path="res://assets/art/background/cloud_2.png" type="Texture" id=5] [ext_resource path="res://assets/art/background/distant_platforms_1.png" type="Texture" id=6] +[ext_resource path="res://assets/art/background/cloud_1.png" type="Texture" id=7] [node name="ParallaxBackground" type="ParallaxBackground"] -scroll_base_scale = Vector2( 0.4, 0 ) +scroll_base_scale = Vector2( 0.1, 0 ) [node name="Sky" type="ParallaxLayer" parent="."] -motion_mirroring = Vector2( 400, 0 ) +motion_scale = Vector2( 0.2, 1 ) [node name="Sprite" type="Sprite" parent="Sky"] -scale = Vector2( 64, 0.94 ) +position = Vector2( -809, 58 ) +scale = Vector2( 1.2, 1.2 ) +texture = ExtResource( 2 ) +centered = false + +[node name="Sprite2" type="Sprite" parent="Sky"] +position = Vector2( -809, 0 ) +scale = Vector2( 1.2, 1.2 ) texture = ExtResource( 2 ) centered = false @@ -25,132 +32,106 @@ motion_offset = Vector2( -550, 0 ) [node name="CloudGroup1" type="Node2D" parent="Clouds"] position = Vector2( -780, 0 ) -[node name="Sprite1" type="Sprite" parent="Clouds/CloudGroup1"] -position = Vector2( -200, 120 ) -texture = ExtResource( 3 ) -centered = false - [node name="Sprite2" type="Sprite" parent="Clouds/CloudGroup1"] -position = Vector2( 100, 10 ) -texture = ExtResource( 3 ) +position = Vector2( 470, 4 ) +texture = ExtResource( 5 ) centered = false [node name="Sprite3" type="Sprite" parent="Clouds/CloudGroup1"] -position = Vector2( -60, 40 ) -texture = ExtResource( 4 ) +position = Vector2( 726, 91 ) +texture = ExtResource( 3 ) centered = false [node name="Sprite4" type="Sprite" parent="Clouds/CloudGroup1"] -position = Vector2( 150, 65 ) -texture = ExtResource( 4 ) +position = Vector2( 1133, 113 ) +texture = ExtResource( 3 ) centered = false [node name="Sprite5" type="Sprite" parent="Clouds/CloudGroup1"] -position = Vector2( 15, 75 ) -texture = ExtResource( 5 ) +position = Vector2( 1513, 165 ) +texture = ExtResource( 3 ) centered = false [node name="Sprite6" type="Sprite" parent="Clouds/CloudGroup1"] -position = Vector2( 225, 35 ) -texture = ExtResource( 5 ) +position = Vector2( 396, 109 ) +texture = ExtResource( 7 ) centered = false [node name="CloudGroup2" type="Node2D" parent="Clouds"] [node name="Sprite1" type="Sprite" parent="Clouds/CloudGroup2"] -position = Vector2( -200, 120 ) -texture = ExtResource( 3 ) -centered = false - -[node name="Sprite2" type="Sprite" parent="Clouds/CloudGroup2"] -position = Vector2( 100, 10 ) -texture = ExtResource( 3 ) -centered = false - -[node name="Sprite3" type="Sprite" parent="Clouds/CloudGroup2"] -position = Vector2( -60, 40 ) -texture = ExtResource( 4 ) -centered = false - -[node name="Sprite4" type="Sprite" parent="Clouds/CloudGroup2"] -position = Vector2( 150, 65 ) -texture = ExtResource( 4 ) +position = Vector2( -135, 213 ) +texture = ExtResource( 5 ) centered = false [node name="Sprite5" type="Sprite" parent="Clouds/CloudGroup2"] -position = Vector2( 15, 75 ) -texture = ExtResource( 5 ) +position = Vector2( 19, 77 ) +scale = Vector2( 0.5, 0.5 ) +texture = ExtResource( 7 ) centered = false -[node name="Sprite6" type="Sprite" parent="Clouds/CloudGroup2"] -position = Vector2( 225, 35 ) -texture = ExtResource( 5 ) +[node name="Sprite7" type="Sprite" parent="Clouds/CloudGroup2"] +position = Vector2( 140, 261 ) +scale = Vector2( 0.5, 0.5 ) +texture = ExtResource( 3 ) centered = false [node name="CloudGroup3" type="Node2D" parent="Clouds"] position = Vector2( 390, 0 ) [node name="Sprite1" type="Sprite" parent="Clouds/CloudGroup3"] -position = Vector2( -200, 120 ) -texture = ExtResource( 3 ) +position = Vector2( 1034, -60 ) +texture = ExtResource( 5 ) +centered = false + +[node name="Sprite7" type="Sprite" parent="Clouds/CloudGroup3"] +position = Vector2( 491, 251 ) +texture = ExtResource( 5 ) centered = false [node name="Sprite2" type="Sprite" parent="Clouds/CloudGroup3"] -position = Vector2( 100, 10 ) -texture = ExtResource( 3 ) +position = Vector2( 545, 108 ) +texture = ExtResource( 5 ) centered = false [node name="Sprite3" type="Sprite" parent="Clouds/CloudGroup3"] -position = Vector2( -60, 40 ) -texture = ExtResource( 4 ) +position = Vector2( -164, 212 ) +texture = ExtResource( 7 ) centered = false -[node name="Sprite4" type="Sprite" parent="Clouds/CloudGroup3"] -position = Vector2( 150, 65 ) -texture = ExtResource( 4 ) -centered = false - -[node name="Sprite5" type="Sprite" parent="Clouds/CloudGroup3"] -position = Vector2( 15, 75 ) -texture = ExtResource( 5 ) -centered = false - -[node name="Sprite6" type="Sprite" parent="Clouds/CloudGroup3"] -position = Vector2( 225, 35 ) -texture = ExtResource( 5 ) +[node name="Sprite8" type="Sprite" parent="Clouds/CloudGroup3"] +position = Vector2( 287, 220 ) +scale = Vector2( 0.5, 0.5 ) +texture = ExtResource( 7 ) centered = false [node name="CloudGroup4" type="Node2D" parent="Clouds"] position = Vector2( 780, 0 ) [node name="Sprite1" type="Sprite" parent="Clouds/CloudGroup4"] -position = Vector2( -200, 120 ) -texture = ExtResource( 3 ) +position = Vector2( -293, 64 ) +texture = ExtResource( 5 ) centered = false [node name="Sprite2" type="Sprite" parent="Clouds/CloudGroup4"] -position = Vector2( 100, 10 ) -texture = ExtResource( 3 ) -centered = false - -[node name="Sprite3" type="Sprite" parent="Clouds/CloudGroup4"] -position = Vector2( -60, 40 ) -texture = ExtResource( 4 ) -centered = false - -[node name="Sprite4" type="Sprite" parent="Clouds/CloudGroup4"] -position = Vector2( 150, 65 ) -texture = ExtResource( 4 ) +position = Vector2( -229, 199 ) +texture = ExtResource( 5 ) centered = false [node name="Sprite5" type="Sprite" parent="Clouds/CloudGroup4"] -position = Vector2( 15, 75 ) -texture = ExtResource( 5 ) +position = Vector2( 83, 115 ) +texture = ExtResource( 7 ) +centered = false + +[node name="Sprite7" type="Sprite" parent="Clouds/CloudGroup4"] +position = Vector2( 7, 177 ) +texture = ExtResource( 7 ) centered = false [node name="Sprite6" type="Sprite" parent="Clouds/CloudGroup4"] -position = Vector2( 225, 35 ) -texture = ExtResource( 5 ) +position = Vector2( 226, 14 ) +scale = Vector2( 0.5, 0.5 ) +texture = ExtResource( 7 ) centered = false [node name="Mountains2" type="ParallaxLayer" parent="."] @@ -158,17 +139,18 @@ position = Vector2( 0, 243 ) motion_scale = Vector2( 0.2, 1 ) [node name="Sprite" type="Sprite" parent="Mountains2"] -position = Vector2( 0, -64 ) +position = Vector2( 567, 301.2 ) texture = ExtResource( 1 ) region_enabled = true -region_rect = Rect2( 0, 0, 2048, 128 ) +region_rect = Rect2( 0, 0, 2048, 251.104 ) [node name="Mountains1" type="ParallaxLayer" parent="."] position = Vector2( 0, 246 ) motion_scale = Vector2( 0.4, 1 ) [node name="Sprite" type="Sprite" parent="Mountains1"] -position = Vector2( 0, -64 ) +position = Vector2( 437, 278.2 ) +scale = Vector2( 1.2, 1.2 ) texture = ExtResource( 6 ) region_enabled = true -region_rect = Rect2( 0, 0, 2048, 128 ) +region_rect = Rect2( 0, 0, 2048, 251.104 ) diff --git a/2d/platformer/src/Main/Game.gd b/2d/platformer/src/main/game.gd similarity index 100% rename from 2d/platformer/src/Main/Game.gd rename to 2d/platformer/src/main/game.gd diff --git a/2d/platformer/src/Main/Game.tscn b/2d/platformer/src/main/game.tscn similarity index 53% rename from 2d/platformer/src/Main/Game.tscn rename to 2d/platformer/src/main/game.tscn index c878fa8e..1d7b70bb 100644 --- a/2d/platformer/src/Main/Game.tscn +++ b/2d/platformer/src/main/game.tscn @@ -1,18 +1,21 @@ [gd_scene load_steps=5 format=2] -[ext_resource path="res://src/UserInterface/PauseMenu.tscn" type="PackedScene" id=1] -[ext_resource path="res://src/Main/Game.gd" type="Script" id=2] -[ext_resource path="res://src/Level/Level.tscn" type="PackedScene" id=3] -[ext_resource path="res://src/Actors/Player.tscn" type="PackedScene" id=4] +[ext_resource path="res://src/ui/pause_menu.tscn" type="PackedScene" id=1] +[ext_resource path="res://src/main/game.gd" type="Script" id=2] +[ext_resource path="res://src/level/level.tscn" type="PackedScene" id=3] +[ext_resource path="res://src/actors/player.tscn" type="PackedScene" id=4] [node name="Game" type="Node"] pause_mode = 2 script = ExtResource( 2 ) [node name="Level" parent="." instance=ExtResource( 3 )] +z_index = -1 [node name="Player" parent="Level" instance=ExtResource( 4 )] -position = Vector2( 90, 546 ) +position = Vector2( 157, 648 ) +scale = Vector2( 1, 1 ) +z_index = 3 [node name="InterfaceLayer" type="CanvasLayer" parent="."] layer = 100 diff --git a/2d/platformer/src/Main/Splitscreen.tscn b/2d/platformer/src/main/split_screen.tscn similarity index 85% rename from 2d/platformer/src/Main/Splitscreen.tscn rename to 2d/platformer/src/main/split_screen.tscn index 3c7e9a41..ed3bdf2e 100644 --- a/2d/platformer/src/Main/Splitscreen.tscn +++ b/2d/platformer/src/main/split_screen.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=6 format=2] -[ext_resource path="res://src/UserInterface/PauseMenu.tscn" type="PackedScene" id=1] -[ext_resource path="res://src/Main/Game.gd" type="Script" id=2] -[ext_resource path="res://src/Level/Level.tscn" type="PackedScene" id=3] -[ext_resource path="res://src/Actors/Player.tscn" type="PackedScene" id=4] -[ext_resource path="res://src/Level/ParallaxBackground.tscn" type="PackedScene" id=5] +[ext_resource path="res://src/ui/pause_menu.tscn" type="PackedScene" id=1] +[ext_resource path="res://src/main/game.gd" type="Script" id=2] +[ext_resource path="res://src/level/level.tscn" type="PackedScene" id=3] +[ext_resource path="res://src/actors/player.tscn" type="PackedScene" id=4] +[ext_resource path="res://src/level/parallax_background.tscn" type="PackedScene" id=5] [node name="Splitscreen" type="Node"] pause_mode = 2 diff --git a/2d/platformer/src/Objects/Bullet.gd b/2d/platformer/src/objects/bullet.gd similarity index 100% rename from 2d/platformer/src/Objects/Bullet.gd rename to 2d/platformer/src/objects/bullet.gd diff --git a/2d/platformer/src/Objects/Bullet.tscn b/2d/platformer/src/objects/bullet.tscn similarity index 94% rename from 2d/platformer/src/Objects/Bullet.tscn rename to 2d/platformer/src/objects/bullet.tscn index b9d8d106..88424e88 100644 --- a/2d/platformer/src/Objects/Bullet.tscn +++ b/2d/platformer/src/objects/bullet.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=8 format=2] [ext_resource path="res://assets/art/player/bullet/bullet.png" type="Texture" id=1] -[ext_resource path="res://src/Objects/Bullet.gd" type="Script" id=2] +[ext_resource path="res://src/objects/bullet.gd" type="Script" id=2] [sub_resource type="CanvasItemMaterial" id=1] @@ -57,8 +57,11 @@ tracks/2/keys = { [node name="Bullet" type="RigidBody2D"] material = SubResource( 1 ) +z_index = 5 collision_layer = 0 collision_mask = 26 +mass = 0.0283333 +gravity_scale = 0.1 continuous_cd = 2 contacts_reported = 1 contact_monitor = true @@ -67,7 +70,7 @@ script = ExtResource( 2 ) [node name="Particles2D" type="CPUParticles2D" parent="."] material = SubResource( 2 ) emitting = false -lifetime = 0.3 +lifetime = 0.1 speed_scale = 3.0 local_coords = false texture = ExtResource( 1 ) diff --git a/2d/platformer/src/Objects/Coin.gd b/2d/platformer/src/objects/coin.gd similarity index 100% rename from 2d/platformer/src/Objects/Coin.gd rename to 2d/platformer/src/objects/coin.gd diff --git a/2d/platformer/src/Objects/Coin.tscn b/2d/platformer/src/objects/coin.tscn similarity index 93% rename from 2d/platformer/src/Objects/Coin.tscn rename to 2d/platformer/src/objects/coin.tscn index 11778958..9f34a895 100644 --- a/2d/platformer/src/Objects/Coin.tscn +++ b/2d/platformer/src/objects/coin.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=7 format=2] -[ext_resource path="res://assets/art/coin/coin.png" type="Texture" id=2] +[ext_resource path="res://assets/art/coin/coin.png" type="Texture" id=1] [ext_resource path="res://assets/audio/sfx/coin_pickup.wav" type="AudioStream" id=3] -[ext_resource path="res://src/Objects/Coin.gd" type="Script" id=4] +[ext_resource path="res://src/objects/coin.gd" type="Script" id=4] [sub_resource type="Animation" id=1] resource_name = "picked" @@ -15,10 +15,10 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), +"times": PoolRealArray( 0, 1.25 ), +"transitions": PoolRealArray( 1, 1 ), "update": 0, -"values": [ 0 ] +"values": [ 0, 11 ] } tracks/1/type = "method" tracks/1/path = NodePath(".") @@ -137,7 +137,7 @@ tracks/3/keys = { } [sub_resource type="CircleShape2D" id=3] -radius = 5.0 +radius = 10.0499 [node name="Coin" type="Area2D"] collision_layer = 0 @@ -146,8 +146,10 @@ monitorable = false script = ExtResource( 4 ) [node name="Sprite" type="Sprite" parent="."] -texture = ExtResource( 2 ) -hframes = 4 +scale = Vector2( 0.65, 0.65 ) +texture = ExtResource( 1 ) +hframes = 8 +vframes = 2 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] autoplay = "spinning" diff --git a/2d/platformer/src/platforms/platform.tscn b/2d/platformer/src/platforms/platform.tscn new file mode 100644 index 00000000..f14f5768 --- /dev/null +++ b/2d/platformer/src/platforms/platform.tscn @@ -0,0 +1,178 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://assets/shaders/wind_sway.tres" type="Material" id=1] +[ext_resource path="res://assets/art/platforms/moving_platform.png" type="Texture" id=2] +[ext_resource path="res://assets/art/props/grass_1.png" type="Texture" id=3] +[ext_resource path="res://assets/art/props/grass_2.png" type="Texture" id=4] +[ext_resource path="res://assets/art/props/grass_3.png" type="Texture" id=5] +[ext_resource path="res://assets/art/props/bush_1.png" type="Texture" id=6] +[ext_resource path="res://assets/art/props/vine_2.png" type="Texture" id=7] +[ext_resource path="res://assets/art/props/vine_1.png" type="Texture" id=8] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 96, 13.5 ) + +[node name="Platform" type="KinematicBody2D"] +z_index = -1 +collision_layer = 8 +collision_mask = 0 +collision/safe_margin = 0.12 +motion/sync_to_physics = true + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 0, -7.5 ) +shape = SubResource( 1 ) +one_way_collision = true + +[node name="g67" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 77, -37 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 3 ) + +[node name="g69" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -1.99999, -38 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 3 ) + +[node name="g68" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -52, -35 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 3 ) + +[node name="g1" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -36, -35 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 5 ) + +[node name="g3" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -82, -33 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 5 ) + +[node name="g2" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 31, -36 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 5 ) + +[node name="g4" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -22, -30 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 5 ) + +[node name="g14" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 51, -38 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 4 ) + +[node name="g17" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 65, -32 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 4 ) + +[node name="g16" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 17, -36 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 4 ) + +[node name="g15" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -71, -35 ) +scale = Vector2( 0.8, 0.8 ) +z_index = -1 +texture = ExtResource( 4 ) + +[node name="B3" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -2, -58 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 6 ) + +[node name="B4" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 37, -42 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +z_index = -2 +texture = ExtResource( 6 ) + +[node name="B5" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -32, -41 ) +rotation = -3.14159 +scale = Vector2( -1, -1 ) +z_index = -2 +texture = ExtResource( 6 ) + +[node name="v31" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -21, 18 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 8 ) + +[node name="v35" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 35, 7 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 8 ) + +[node name="v32" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 87, 16 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 8 ) + +[node name="v33" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -85, 15 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 7 ) + +[node name="v34" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( 56, 18 ) +scale = Vector2( 1, -1 ) +z_index = 1 +texture = ExtResource( 7 ) + +[node name="v36" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -9, 11 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 7 ) + +[node name="v37" type="Sprite" parent="."] +material = ExtResource( 1 ) +position = Vector2( -61, 7 ) +scale = Vector2( 1, -1 ) +z_index = -1 +texture = ExtResource( 7 ) diff --git a/2d/platformer/src/UserInterface/CoinsCounter.gd b/2d/platformer/src/ui/coins_counter.gd similarity index 100% rename from 2d/platformer/src/UserInterface/CoinsCounter.gd rename to 2d/platformer/src/ui/coins_counter.gd diff --git a/2d/platformer/src/ui/coins_counter.tscn b/2d/platformer/src/ui/coins_counter.tscn new file mode 100644 index 00000000..6291fd15 --- /dev/null +++ b/2d/platformer/src/ui/coins_counter.tscn @@ -0,0 +1,89 @@ +[gd_scene load_steps=18 format=2] + +[ext_resource path="res://assets/theme/user_interface.tres" type="Theme" id=1] +[ext_resource path="res://assets/art/coin/coin.png" type="Texture" id=2] +[ext_resource path="res://src/ui/coins_counter.gd" type="Script" id=3] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0, 0, 0, 0.5 ) + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 2 ) +region = Rect2( 0, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=8] +atlas = ExtResource( 2 ) +region = Rect2( 32, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=9] +atlas = ExtResource( 2 ) +region = Rect2( 64, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=10] +atlas = ExtResource( 2 ) +region = Rect2( 96, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=11] +atlas = ExtResource( 2 ) +region = Rect2( 128, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=12] +atlas = ExtResource( 2 ) +region = Rect2( 160, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=13] +atlas = ExtResource( 2 ) +region = Rect2( 192, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=14] +atlas = ExtResource( 2 ) +region = Rect2( 224, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=15] +atlas = ExtResource( 2 ) +region = Rect2( 0, 32, 32, 32 ) + +[sub_resource type="AtlasTexture" id=16] +atlas = ExtResource( 2 ) +region = Rect2( 32, 32, 32, 32 ) + +[sub_resource type="AtlasTexture" id=17] +atlas = ExtResource( 2 ) +region = Rect2( 64, 32, 32, 32 ) + +[sub_resource type="AtlasTexture" id=18] +atlas = ExtResource( 2 ) +region = Rect2( 96, 32, 32, 32 ) + +[sub_resource type="SpriteFrames" id=6] +animations = [ { +"frames": [ SubResource( 7 ), SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ), SubResource( 17 ), SubResource( 18 ) ], +"loop": true, +"name": "coin_spinning", +"speed": 6.5 +} ] + +[node name="CoinsCounter" type="Panel"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 100.0 +margin_bottom = 45.0 +rect_min_size = Vector2( 100, 45 ) +theme = ExtResource( 1 ) +custom_styles/panel = SubResource( 1 ) +script = ExtResource( 3 ) + +[node name="Label" type="Label" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -8.0 +text = "100" +align = 2 +valign = 1 +autowrap = true + +[node name="AnimatedSprite" type="AnimatedSprite" parent="."] +position = Vector2( 21.5, 22.5 ) +frames = SubResource( 6 ) +animation = "coin_spinning" +speed_scale = 2.0 diff --git a/2d/platformer/src/UserInterface/PauseMenu.gd b/2d/platformer/src/ui/pause_menu.gd similarity index 100% rename from 2d/platformer/src/UserInterface/PauseMenu.gd rename to 2d/platformer/src/ui/pause_menu.gd diff --git a/2d/platformer/src/UserInterface/PauseMenu.tscn b/2d/platformer/src/ui/pause_menu.tscn similarity index 87% rename from 2d/platformer/src/UserInterface/PauseMenu.tscn rename to 2d/platformer/src/ui/pause_menu.tscn index 9dc36f27..212827da 100644 --- a/2d/platformer/src/UserInterface/PauseMenu.tscn +++ b/2d/platformer/src/ui/pause_menu.tscn @@ -1,38 +1,31 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=7 format=2] [ext_resource path="res://assets/theme/user_interface.tres" type="Theme" id=1] -[ext_resource path="res://src/UserInterface/PauseMenu.gd" type="Script" id=2] +[ext_resource path="res://src/ui/pause_menu.gd" type="Script" id=2] [ext_resource path="res://assets/theme/fonts/kenney_mini_square.tres" type="DynamicFontData" id=3] -[ext_resource path="res://src/UserInterface/CoinsCounter.tscn" type="PackedScene" id=4] +[ext_resource path="res://src/ui/coins_counter.tscn" type="PackedScene" id=4] [sub_resource type="DynamicFont" id=1] size = 44 font_data = ExtResource( 3 ) +[sub_resource type="StyleBoxTexture" id=2] + [node name="PauseMenu" type="Control"] pause_mode = 2 anchor_right = 1.0 anchor_bottom = 1.0 theme = ExtResource( 1 ) script = ExtResource( 2 ) -__meta__ = { -"_edit_use_anchors_": false -} [node name="ColorRect" type="ColorRect" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 color = Color( 0, 0, 0, 0.294118 ) -__meta__ = { -"_edit_use_anchors_": false -} [node name="CenterContainer" type="CenterContainer" parent="ColorRect"] anchor_right = 1.0 anchor_bottom = 1.0 -__meta__ = { -"_edit_use_anchors_": false -} [node name="VBoxContainer" type="VBoxContainer" parent="ColorRect/CenterContainer"] margin_left = 250.0 @@ -51,6 +44,7 @@ margin_top = 7.0 margin_right = 300.0 margin_bottom = 62.0 custom_fonts/font = SubResource( 1 ) +custom_styles/normal = SubResource( 2 ) text = "Game Paused" align = 1 valign = 1