Remake art assets of the 2D platformer demo
|
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 298 B After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 185 B After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 833 B After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 212 B After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 817 B After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 604 B After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 146 B After Width: | Height: | Size: 797 B |
BIN
2d/platformer/assets/art/player/robot.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
@@ -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]
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
BIN
2d/platformer/assets/art/props/bush_1.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
35
2d/platformer/assets/art/props/bush_1.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/fern_1.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
35
2d/platformer/assets/art/props/fern_1.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/flower_1.png
Normal file
|
After Width: | Height: | Size: 508 B |
35
2d/platformer/assets/art/props/flower_1.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/grass_1.png
Normal file
|
After Width: | Height: | Size: 725 B |
35
2d/platformer/assets/art/props/grass_1.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/grass_2.png
Normal file
|
After Width: | Height: | Size: 654 B |
35
2d/platformer/assets/art/props/grass_2.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/grass_3.png
Normal file
|
After Width: | Height: | Size: 745 B |
35
2d/platformer/assets/art/props/grass_3.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/ground_flowers_1.png
Normal file
|
After Width: | Height: | Size: 624 B |
35
2d/platformer/assets/art/props/ground_flowers_1.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/rock_1.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
35
2d/platformer/assets/art/props/rock_1.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/tree_1.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
35
2d/platformer/assets/art/props/tree_1.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/tree_2.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
35
2d/platformer/assets/art/props/tree_2.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/vine_1.png
Normal file
|
After Width: | Height: | Size: 823 B |
35
2d/platformer/assets/art/props/vine_1.png.import
Normal file
@@ -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
|
||||
BIN
2d/platformer/assets/art/props/vine_2.png
Normal file
|
After Width: | Height: | Size: 892 B |
35
2d/platformer/assets/art/props/vine_2.png.import
Normal file
@@ -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
|
||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 29 KiB |
@@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 802 B After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 777 B After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 785 B After Width: | Height: | Size: 2.6 KiB |
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
58
2d/platformer/assets/shaders/wind_sway.tres
Normal file
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 527 B After Width: | Height: | Size: 2.2 KiB |
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
@@ -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:
|
||||
@@ -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 )
|
||||
@@ -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
|
||||
@@ -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
|
||||
)
|
||||
|
||||
|
||||
@@ -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
|
||||
1725
2d/platformer/src/level/level.tscn
Normal file
@@ -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 )
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 )
|
||||
@@ -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"
|
||||
178
2d/platformer/src/platforms/platform.tscn
Normal file
@@ -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 )
|
||||
89
2d/platformer/src/ui/coins_counter.tscn
Normal file
@@ -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
|
||||
@@ -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
|
||||