Added a new platformer demo entirely made with visual script.

This commit is contained in:
Juan Linietsky
2016-08-31 17:57:08 -03:00
parent 00f5f054ad
commit bccc1cd127
42 changed files with 2037 additions and 0 deletions

View File

@@ -66,6 +66,7 @@ func _set_status(text,isok):
func _on_host_pressed():
var host = NetworkedMultiplayerENet.new()
host.set_compression_mode(NetworkedMultiplayerENet.COMPRESS_RANGE_CODER)
var err = host.create_server(DEFAULT_PORT,1) # max: 1 peer, since it's a 2 players game
if (err!=OK):
#is another server running?
@@ -85,6 +86,7 @@ func _on_join_pressed():
return
var host = NetworkedMultiplayerENet.new()
host.set_compression_mode(NetworkedMultiplayerENet.COMPRESS_RANGE_CODER)
host.create_client(ip,DEFAULT_PORT)
get_tree().set_network_peer(host)

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

View File

@@ -0,0 +1,120 @@
[gd_scene load_steps=6 format=1]
[ext_resource path="res://bullet.vs" type="Script" id=1]
[ext_resource path="res://bullet.png" type="Texture" id=2]
[sub_resource type="CircleShape2D" id=1]
custom_solver_bias = 0.0
radius = 10.0
[sub_resource type="ColorRamp" id=2]
offsets = FloatArray( 0, 1 )
colors = ColorArray( 1, 1, 1, 1, 1, 0, 0, 0 )
[sub_resource type="Animation" id=3]
length = 1.5
loop = false
step = 0.0
tracks/0/type = "value"
tracks/0/path = NodePath("particles:config/emitting")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ false ] }
tracks/1/type = "value"
tracks/1/path = NodePath("sprite:visibility/self_opacity")
tracks/1/interp = 1
tracks/1/imported = false
tracks/1/keys = { "times":FloatArray( 0, 1.00394 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] }
tracks/2/type = "method"
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/imported = false
tracks/2/keys = { "times":FloatArray( 1.31 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] }
[node name="bullet" type="RigidBody2D"]
input/pickable = false
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
mode = 0
mass = 1.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 2
contacts_reported = 3
contact_monitor = true
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
script/script = ExtResource( 1 )
[node name="particles" type="Particles2D" parent="."]
visibility/opacity = 0.559322
visibility/blend_mode = 1
config/amount = 24
config/lifetime = 0.1
config/local_space = false
config/texture = ExtResource( 2 )
params/direction = 0.0
params/spread = 10.0
params/linear_velocity = 0.0
params/spin_velocity = 0.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 0.0
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 1.0
params/final_size = 0.0
params/hue_variation = 0.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
color/color_ramp = SubResource( 2 )
[node name="sprite" type="Sprite" parent="."]
texture = ExtResource( 2 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 1 )
trigger = false
_update_shape_index = -1
[node name="Timer" type="Timer" parent="."]
process_mode = 1
wait_time = 1.0
one_shot = true
autostart = false
[node name="anim" type="AnimationPlayer" parent="."]
playback/process_mode = 1
playback/default_blend_time = 0.0
root/root = NodePath("..")
anims/shutdown = SubResource( 3 )
playback/active = true
playback/speed = 1.0
blend_times = [ ]
autoplay = ""
[connection signal="body_enter" from="." to="." method="_on_bullet_body_enter"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1,155 @@
[gd_scene load_steps=10 format=1]
[ext_resource path="res://coin.vs" type="Script" id=1]
[ext_resource path="res://coin.png" type="Texture" id=2]
[ext_resource path="res://sound_coin.wav" type="Sample" id=3]
[ext_resource path="res://bullet.png" type="Texture" id=4]
[sub_resource type="CircleShape2D" id=1]
custom_solver_bias = 0.0
radius = 10.0
[sub_resource type="Animation" id=2]
resource/name = "spin"
length = 1.5
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 0, 1, 2, 3, 2, 1, 0 ] }
[sub_resource type="Animation" id=3]
length = 8.0
loop = false
step = 0.0
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":0, "values":[ 0 ] }
tracks/1/type = "value"
tracks/1/path = NodePath("sound:play/play")
tracks/1/interp = 1
tracks/1/imported = false
tracks/1/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ "coin" ] }
tracks/2/type = "value"
tracks/2/path = NodePath("particles:visibility/self_opacity")
tracks/2/interp = 1
tracks/2/imported = false
tracks/2/keys = { "times":FloatArray( 0, 1.66 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] }
tracks/3/type = "value"
tracks/3/path = NodePath("sprite:visibility/self_opacity")
tracks/3/interp = 1
tracks/3/imported = false
tracks/3/keys = { "times":FloatArray( 0, 0.4 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] }
tracks/4/type = "value"
tracks/4/path = NodePath("particles:config/emitting")
tracks/4/interp = 1
tracks/4/imported = false
tracks/4/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ true ] }
tracks/5/type = "method"
tracks/5/path = NodePath(".")
tracks/5/interp = 1
tracks/5/imported = false
tracks/5/keys = { "times":FloatArray( 2.7 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] }
[sub_resource type="SampleLibrary" id=4]
samples/coin = { "db":0.0, "pitch":1.0, "sample":ExtResource( 3 ) }
[sub_resource type="ColorRamp" id=5]
offsets = FloatArray( 0, 1 )
colors = ColorArray( 1, 1, 1, 1, 0, 0, 0, 1 )
[node name="coin" type="Area2D"]
input/pickable = true
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
gravity_vec = Vector2( 0, 1 )
gravity = 98.0
linear_damp = 0.1
angular_damp = 1.0
script/script = ExtResource( 1 )
script_variables/taken = false
[node name="sprite" type="Sprite" parent="."]
texture = ExtResource( 2 )
hframes = 4
[node name="anim" type="AnimationPlayer" parent="."]
playback/process_mode = 1
playback/default_blend_time = 0.0
root/root = NodePath("..")
anims/spin = SubResource( 2 )
anims/taken = SubResource( 3 )
playback/active = true
playback/speed = 3.0
blend_times = [ ]
autoplay = "spin"
[node name="collision" type="CollisionShape2D" parent="."]
shape = SubResource( 1 )
trigger = false
_update_shape_index = -1
[node name="sound" type="SamplePlayer2D" parent="."]
params/volume_db = 0.0
params/pitch_scale = 1.0
params/attenuation/min_distance = 1.0
params/attenuation/max_distance = 2048.0
params/attenuation/distance_exp = 1.0
config/polyphony = 1
config/samples = SubResource( 4 )
config/pitch_random = 0.0
[node name="particles" type="Particles2D" parent="."]
visibility/blend_mode = 1
config/amount = 8
config/lifetime = 0.4
config/emitting = false
config/half_extents = Vector2( 5, 5 )
config/texture = ExtResource( 4 )
params/direction = 0.0
params/spread = 10.0
params/linear_velocity = 0.0
params/spin_velocity = 0.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 0.0
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 0.2
params/final_size = 0.2
params/hue_variation = 0.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
color/color_ramp = SubResource( 5 )
[node name="enabler" type="VisibilityEnabler2D" parent="."]
rect = Rect2( -10, -10, 20, 20 )
enabler/pause_animations = true
enabler/freeze_bodies = true
enabler/pause_particles = true
enabler/pause_animated_sprites = true
enabler/process_parent = false
enabler/fixed_process_parent = false
[connection signal="body_enter" from="." to="." method="_on_coin_body_enter"]

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,218 @@
[gd_scene load_steps=12 format=1]
[ext_resource path="res://enemy.vs" type="Script" id=1]
[ext_resource path="res://enemy.png" type="Texture" id=2]
[ext_resource path="res://bullet.png" type="Texture" id=3]
[ext_resource path="res://sound_explode.wav" type="Sample" id=4]
[ext_resource path="res://sound_hit.wav" type="Sample" id=5]
[sub_resource type="CapsuleShape2D" id=1]
custom_solver_bias = 0.0
radius = 13.4556
height = 14.2002
[sub_resource type="Animation" id=2]
resource/name = "explode"
length = 2.0
loop = false
step = 0.0
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:visibility/self_opacity")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0.99422, 1.12851 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] }
tracks/1/type = "value"
tracks/1/path = NodePath("sprite:frame")
tracks/1/interp = 1
tracks/1/imported = false
tracks/1/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":0, "values":[ 4 ] }
tracks/2/type = "value"
tracks/2/path = NodePath("Particles2D:config/emitting")
tracks/2/interp = 1
tracks/2/imported = false
tracks/2/keys = { "times":FloatArray( 1.19394 ), "transitions":FloatArray( 1 ), "update":1, "values":[ true ] }
tracks/3/type = "method"
tracks/3/path = NodePath(".")
tracks/3/interp = 1
tracks/3/imported = false
tracks/3/keys = { "times":FloatArray( 2.01305 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] }
tracks/4/type = "value"
tracks/4/path = NodePath("sprite:transform/rot")
tracks/4/interp = 1
tracks/4/imported = false
tracks/4/keys = { "times":FloatArray( 0, 0.99 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 0.0, 360.0 ] }
tracks/5/type = "value"
tracks/5/path = NodePath("sound:play/play")
tracks/5/interp = 1
tracks/5/imported = false
tracks/5/keys = { "times":FloatArray( 1.2 ), "transitions":FloatArray( 1 ), "update":2, "values":[ "explode" ] }
[sub_resource type="Animation" id=3]
length = 6.75
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 5, 6, 5, 6, 5, 6, 7, 6, 7, 5 ] }
[sub_resource type="Animation" id=4]
resource/name = "walk"
length = 1.25
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 0, 1, 2, 3, 4, 0 ] }
[sub_resource type="ColorRamp" id=5]
offsets = FloatArray( 0, 1 )
colors = ColorArray( 1, 0.884956, 0.823009, 1, 0.768627, 0.389381, 0, 0 )
[sub_resource type="SampleLibrary" id=6]
samples/explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) }
samples/hit = { "db":0.0, "pitch":1.0, "sample":ExtResource( 5 ) }
[node name="enemy" type="KinematicBody2D"]
input/pickable = false
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( -4.37114e-08, -1, 1, -4.37114e-08, -0.00525069, -0.727495 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
collision/margin = 0.08
script/script = ExtResource( 1 )
script_variables/state = "walking"
script_variables/linear_vel = Vector2( 0, 0 )
script_variables/current_anim = null
script_variables/direction = -1.0
[node name="enabler" type="VisibilityEnabler2D" parent="."]
transform/pos = Vector2( 16.2569, 11.0034 )
transform/scale = Vector2( 23.5056, 10.8629 )
rect = Rect2( -10, -10, 20, 20 )
enabler/pause_animations = true
enabler/freeze_bodies = true
enabler/pause_particles = true
enabler/pause_animated_sprites = true
enabler/process_parent = false
enabler/fixed_process_parent = false
[node name="anim" type="AnimationPlayer" parent="."]
playback/process_mode = 1
playback/default_blend_time = 0.0
root/root = NodePath("..")
anims/explode = SubResource( 2 )
anims/idle = SubResource( 3 )
anims/walk = SubResource( 4 )
playback/active = true
playback/speed = 3.0
blend_times = [ ]
autoplay = ""
[node name="sprite" type="Sprite" parent="."]
texture = ExtResource( 2 )
flip_h = true
hframes = 8
frame = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
transform/pos = Vector2( -0.00525069, -0.727495 )
transform/rot = 90.0
shape = SubResource( 1 )
trigger = false
_update_shape_index = 0
[node name="detect_floor_left" type="RayCast2D" parent="."]
transform/pos = Vector2( -33.2868, -9.34363 )
enabled = true
exclude_parent = true
cast_to = Vector2( 0, 45 )
layer_mask = 1
type_mask = 15
[node name="detect_wall_left" type="RayCast2D" parent="."]
transform/pos = Vector2( -12.1361, -0.739977 )
transform/rot = -90.0
enabled = true
exclude_parent = true
cast_to = Vector2( 0, 20 )
layer_mask = 1
type_mask = 15
[node name="detect_wall_right" type="RayCast2D" parent="."]
transform/pos = Vector2( 3.2788, -0.381488 )
transform/rot = 90.0
enabled = true
exclude_parent = true
cast_to = Vector2( 0, 20 )
layer_mask = 1
type_mask = 15
[node name="detect_floor_right" type="RayCast2D" parent="."]
transform/pos = Vector2( 29.1987, -9.34363 )
enabled = true
exclude_parent = true
cast_to = Vector2( 0, 45 )
layer_mask = 1
type_mask = 15
[node name="Particles2D" type="Particles2D" parent="."]
visibility/self_opacity = 0.121212
visibility/blend_mode = 1
config/amount = 32
config/lifetime = 0.5
config/emit_timeout = 0.5
config/emitting = false
config/explosiveness = 0.1
config/texture = ExtResource( 3 )
params/direction = 0.0
params/spread = 180.0
params/linear_velocity = 90.0
params/spin_velocity = 2.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 9.8
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 2.0
params/final_size = 3.0
params/hue_variation = 0.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
randomness/spin_velocity = 1.0
color/color_ramp = SubResource( 5 )
[node name="sound" type="SamplePlayer2D" parent="."]
params/volume_db = 0.0
params/pitch_scale = 1.0
params/attenuation/min_distance = 1.0
params/attenuation/max_distance = 2048.0
params/attenuation/distance_exp = 1.0
config/polyphony = 3
config/samples = SubResource( 6 )
config/pitch_random = 0.0

Binary file not shown.

View File

@@ -0,0 +1,42 @@
[application]
name="Platformer"
main_scene="res://stage.tscn"
icon="res://icon.png"
name_es="Plataformero"
target_fps="60"
[display]
width=800
height=480
stretch_mode="2d"
stretch_aspect="keep_height"
[image_loader]
repeat=false
[input]
move_left=[key(Left), jbutton(0, 14)]
move_right=[key(Right), jbutton(0, 15)]
jump=[key(Up), jbutton(0, 0)]
shoot=[key(Space), jbutton(0, 2)]
spawn=[key(F1), jbutton(0, 11)]
[physics_2d]
default_gravity=700
[rasterizer]
use_pixel_snap=true
[render]
mipmap_policy=1
[texture_import]
filter=false

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,52 @@
[gd_scene load_steps=4 format=1]
[ext_resource path="res://moving_platform.vs" type="Script" id=1]
[ext_resource path="res://moving_platform.png" type="Texture" id=2]
[sub_resource type="ConvexPolygonShape2D" id=1]
custom_solver_bias = 0.0
points = Vector2Array( -88, 24, -88, -24, 88, -24, 88, 24 )
[node name="moving_platform" type="Node2D"]
script/script = ExtResource( 1 )
script_variables/motion = Vector2( 0, 0 )
script_variables/cycle = 0.0
[node name="platform" type="RigidBody2D" parent="."]
input/pickable = false
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
mode = 3
mass = 1.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="platform"]
texture = ExtResource( 2 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform"]
build_mode = 0
polygon = Vector2Array( -88, -24, 88, -24, 88, 24, -88, 24 )
shape_range = Vector2( -1, -1 )
trigger = false

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,36 @@
[gd_scene load_steps=3 format=1]
[ext_resource path="res://one_way_platform.png" type="Texture" id=1]
[sub_resource type="RectangleShape2D" id=1]
custom_solver_bias = 0.0
extents = Vector2( 100, 10 )
[node name="one_way_platform" type="StaticBody2D"]
input/pickable = false
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 1.46304, -13.1672 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
one_way_collision/direction = Vector2( 0, 1 )
one_way_collision/max_depth = 20.0
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="sprite" type="Sprite" parent="."]
texture = ExtResource( 1 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
transform/pos = Vector2( 1.46304, -13.1672 )
shape = SubResource( 1 )
trigger = false
_update_shape_index = -1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,101 @@
[gd_scene load_steps=7 format=1]
[ext_resource path="res://scroll_bg_sky.png" type="Texture" id=1]
[ext_resource path="res://scroll_bg_cloud_1.png" type="Texture" id=2]
[ext_resource path="res://scroll_bg_cloud_2.png" type="Texture" id=3]
[ext_resource path="res://scroll_bg_cloud_3.png" type="Texture" id=4]
[ext_resource path="res://scroll_bg_fg_2.png" type="Texture" id=5]
[ext_resource path="res://scroll_bg_fg_1.png" type="Texture" id=6]
[node name="parallax_bg" type="ParallaxBackground"]
layer = -1
offset = Vector2( 0, 0 )
rotation = 0.0
scale = Vector2( 1, 1 )
scroll/offset = Vector2( 0, 0 )
scroll/base_offset = Vector2( 0, 0 )
scroll/base_scale = Vector2( 0.7, 0 )
scroll/limit_begin = Vector2( 0, 0 )
scroll/limit_end = Vector2( 0, 0 )
scroll/ignore_camera_zoom = false
[node name="sky" type="ParallaxLayer" parent="."]
motion/scale = Vector2( 1, 1 )
motion/mirroring = Vector2( 800, 0 )
[node name="Sprite" type="Sprite" parent="sky"]
transform/scale = Vector2( 32, 0.94 )
texture = ExtResource( 1 )
centered = false
[node name="clouds" type="ParallaxLayer" parent="."]
motion/scale = Vector2( 0.1, 1 )
motion/mirroring = Vector2( 800, 0 )
[node name="Sprite" type="Sprite" parent="clouds"]
transform/pos = Vector2( 28, 127 )
texture = ExtResource( 2 )
centered = false
[node name="Sprite 2" type="Sprite" parent="clouds"]
transform/pos = Vector2( 404, 24 )
texture = ExtResource( 2 )
centered = false
[node name="Sprite 3" type="Sprite" parent="clouds"]
transform/pos = Vector2( 154, 46 )
texture = ExtResource( 3 )
centered = false
[node name="Sprite 4" type="Sprite" parent="clouds"]
transform/pos = Vector2( 525, 130 )
texture = ExtResource( 3 )
centered = false
[node name="Sprite 5" type="Sprite" parent="clouds"]
transform/pos = Vector2( 255, 158 )
texture = ExtResource( 4 )
centered = false
[node name="Sprite 6" type="Sprite" parent="clouds"]
transform/pos = Vector2( 674, 70 )
texture = ExtResource( 4 )
centered = false
[node name="mount_ 2" type="ParallaxLayer" parent="."]
motion/scale = Vector2( 0.2, 1 )
motion/mirroring = Vector2( 800, 0 )
[node name="Sprite" type="Sprite" parent="mount_ 2"]
transform/pos = Vector2( 0, 225 )
texture = ExtResource( 5 )
centered = false
region = true
region_rect = Rect2( 0, 0, 800, 256 )
[node name="mount_1" type="ParallaxLayer" parent="."]
motion/scale = Vector2( 0.4, 1 )
motion/mirroring = Vector2( 800, 0 )
[node name="Sprite" type="Sprite" parent="mount_1"]
transform/pos = Vector2( 0, 225 )
texture = ExtResource( 6 )
centered = false
region = true
region_rect = Rect2( 0, 0, 800, 256 )

View File

@@ -0,0 +1,313 @@
[gd_scene load_steps=24 format=1]
[ext_resource path="res://player.vs" type="Script" id=1]
[ext_resource path="res://robot_demo.png" type="Texture" id=2]
[ext_resource path="res://bullet.png" type="Texture" id=3]
[ext_resource path="res://sound_coin.wav" type="Sample" id=4]
[ext_resource path="res://sound_jump.wav" type="Sample" id=5]
[ext_resource path="res://sound_shoot.wav" type="Sample" id=6]
[ext_resource path="res://osb_left.png" type="Texture" id=7]
[ext_resource path="res://osb_right.png" type="Texture" id=8]
[ext_resource path="res://osb_jump.png" type="Texture" id=9]
[ext_resource path="res://osb_fire.png" type="Texture" id=10]
[sub_resource type="CapsuleShape2D" id=1]
custom_solver_bias = 0.0
radius = 10.0
height = 44.4787
[sub_resource type="ColorRamp" id=2]
offsets = FloatArray( 0, 1 )
colors = ColorArray( 1, 1, 1, 1, 0, 0, 0, 0.0442478 )
[sub_resource type="Animation" id=3]
resource/name = "crouch"
length = 0.01
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 22 ] }
[sub_resource type="Animation" id=4]
resource/name = "falling"
length = 0.01
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 21 ] }
[sub_resource type="Animation" id=5]
resource/name = "falling_weapon"
length = 0.5
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 26 ] }
[sub_resource type="Animation" id=6]
length = 7.0
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 16, 17, 18, 16, 19, 20, 19, 16 ] }
[sub_resource type="Animation" id=7]
length = 0.5
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 25 ] }
[sub_resource type="Animation" id=8]
length = 0.5
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5 ), "transitions":FloatArray( 1, 1, 1 ), "update":1, "values":[ 23, 24, 23 ] }
[sub_resource type="Animation" id=9]
length = 0.5
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":1, "values":[ 26 ] }
[sub_resource type="Animation" id=10]
length = 1.25
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 0, 1, 2, 3, 4, 0 ] }
[sub_resource type="Animation" id=11]
length = 1.25
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 5, 6, 7, 8, 9, 5 ] }
[sub_resource type="Animation" id=12]
length = 1.25
loop = true
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = { "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "update":1, "values":[ 10, 11, 12, 13, 14, 5 ] }
[sub_resource type="SampleLibrary" id=13]
samples/coin = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) }
samples/jump = { "db":0.0, "pitch":1.0, "sample":ExtResource( 5 ) }
samples/shoot = { "db":0.0, "pitch":1.0, "sample":ExtResource( 6 ) }
[node name="player" type="KinematicBody2D"]
input/pickable = false
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0.291992, -0.835023 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
collision/margin = 0.08
script/script = ExtResource( 1 )
[node name="sprite" type="Sprite" parent="."]
texture = ExtResource( 2 )
vframes = 2
hframes = 16
frame = 22
[node name="smoke" type="Particles2D" parent="sprite"]
visibility/self_opacity = 0.363636
visibility/blend_mode = 1
transform/pos = Vector2( 20.7312, 3.21187 )
transform/rot = 83.4504
config/amount = 4
config/lifetime = 0.3
config/emit_timeout = 0.3
config/emitting = false
config/local_space = false
config/explosiveness = 0.1
config/texture = ExtResource( 3 )
params/direction = 0.0
params/spread = 180.0
params/linear_velocity = 20.0
params/spin_velocity = 1.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 9.8
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 2.0
params/final_size = 2.0
params/hue_variation = 0.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
randomness/spin_velocity = 2.0
color/color_ramp = SubResource( 2 )
[node name="bullet_shoot" type="Position2D" parent="sprite"]
transform/pos = Vector2( 30.6589, 6.13176 )
[node name="anim" type="AnimationPlayer" parent="."]
playback/process_mode = 1
playback/default_blend_time = 0.0
root/root = NodePath("..")
anims/crouch = SubResource( 3 )
anims/falling = SubResource( 4 )
anims/falling_weapon = SubResource( 5 )
anims/idle = SubResource( 6 )
anims/idle_weapon = SubResource( 7 )
anims/jumping = SubResource( 8 )
anims/jumping_weapon = SubResource( 9 )
anims/run = SubResource( 10 )
anims/run_weapon = SubResource( 11 )
anims/standing_weapon_ready = SubResource( 12 )
playback/active = true
playback/speed = 2.0
blend_times = [ ]
autoplay = ""
[node name="camera" type="Camera2D" parent="."]
anchor_mode = 1
rotating = false
current = true
zoom = Vector2( 1, 1 )
limit/left = 0
limit/top = 0
limit/right = 10000000
limit/bottom = 10000000
limit/smoothed = false
drag_margin/h_enabled = true
drag_margin/v_enabled = true
smoothing/enable = false
smoothing/speed = 5.0
drag_margin/left = 0.2
drag_margin/top = 0.2
drag_margin/right = 0.2
drag_margin/bottom = 0.2
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
transform/pos = Vector2( 0.291992, -0.835023 )
shape = SubResource( 1 )
trigger = false
_update_shape_index = 0
[node name="sound" type="SamplePlayer" parent="."]
config/polyphony = 1
config/samples = SubResource( 13 )
default/volume_db = 0.0
default/pitch_scale = 1.0
default/pan = 0.0
default/depth = 0.0
default/height = 0.0
default/filter/type = 0
default/filter/cutoff = 0.0
default/filter/resonance = 0.0
default/filter/gain = 0.0
default/reverb_room = 2
default/reverb_send = 0.0
default/chorus_send = 0.0
[node name="ui" type="CanvasLayer" parent="."]
layer = 0
offset = Vector2( 0, 0 )
rotation = 0.0
scale = Vector2( 1, 1 )
[node name="left" type="TouchScreenButton" parent="ui"]
transform/pos = Vector2( 27.7593, 360.87 )
transform/scale = Vector2( 1.49157, 1.46265 )
normal = ExtResource( 7 )
pressed = null
bitmask = null
passby_press = true
action = "move_left"
visibility_mode = 1
[node name="right" type="TouchScreenButton" parent="ui"]
transform/pos = Vector2( 121.542, 361.415 )
transform/scale = Vector2( 1.49157, 1.46265 )
normal = ExtResource( 8 )
pressed = null
bitmask = null
passby_press = true
action = "move_right"
visibility_mode = 1
[node name="jump" type="TouchScreenButton" parent="ui"]
transform/pos = Vector2( 666.224, 359.02 )
transform/scale = Vector2( 1.49157, 1.46265 )
normal = ExtResource( 9 )
pressed = null
bitmask = null
passby_press = false
action = "jump"
visibility_mode = 1
[node name="fire" type="TouchScreenButton" parent="ui"]
transform/pos = Vector2( 668.073, 262.788 )
transform/scale = Vector2( 1.49157, 1.46265 )
normal = ExtResource( 10 )
pressed = null
bitmask = null
passby_press = false
action = "shoot"
visibility_mode = 1

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -0,0 +1 @@
filter=false

View File

@@ -0,0 +1,195 @@
[gd_resource type="TileSet" load_steps=14 format=1]
[ext_resource path="res://tiles_demo.png" type="Texture" id=1]
[sub_resource type="ConvexPolygonShape2D" id=1]
custom_solver_bias = 0.0
points = Vector2Array( -32, -24, 32, -24, 32, 32, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=2]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -24, 24, -24, 24, 32 )
[sub_resource type="ConvexPolygonShape2D" id=3]
custom_solver_bias = 0.0
points = Vector2Array( -32, -32, 32, -32, 32, 32, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=4]
custom_solver_bias = 0.0
points = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
[sub_resource type="ConvexPolygonShape2D" id=5]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
[sub_resource type="ConvexPolygonShape2D" id=6]
custom_solver_bias = 0.0
points = Vector2Array( -32, -24, 32, -24, 32, 24, -32, 24 )
[sub_resource type="ConvexPolygonShape2D" id=7]
custom_solver_bias = 0.0
points = Vector2Array( -32, -24, 24, -24, 24, 24, -32, 24 )
[sub_resource type="ConvexPolygonShape2D" id=8]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
[sub_resource type="ConvexPolygonShape2D" id=9]
custom_solver_bias = 0.0
points = Vector2Array( -64, 32, -64, -32, -8, -32, -8, 32 )
[sub_resource type="ConvexPolygonShape2D" id=10]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=11]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=12]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
[resource]
0/name = "floor"
0/texture = ExtResource( 1 )
0/tex_offset = Vector2( 0, 0 )
0/region = Rect2( 0, 0, 64, 64 )
0/occluder_offset = Vector2( 32, 32 )
0/navigation_offset = Vector2( 32, 32 )
0/shape_offset = Vector2( 32, 32 )
0/shapes = [ SubResource( 1 ) ]
1/name = "edge"
1/texture = ExtResource( 1 )
1/tex_offset = Vector2( 0, 0 )
1/region = Rect2( 64, 0, 64, 64 )
1/occluder_offset = Vector2( 32, 32 )
1/navigation_offset = Vector2( 32, 32 )
1/shape_offset = Vector2( 32, 32 )
1/shapes = [ SubResource( 2 ) ]
2/name = "wall"
2/texture = ExtResource( 1 )
2/tex_offset = Vector2( 0, 0 )
2/region = Rect2( 64, 64, 64, 64 )
2/occluder_offset = Vector2( 32, 32 )
2/navigation_offset = Vector2( 32, 32 )
2/shape_offset = Vector2( 32, 32 )
2/shapes = [ SubResource( 8 ) ]
3/name = "wall_deco"
3/texture = ExtResource( 1 )
3/tex_offset = Vector2( 0, 0 )
3/region = Rect2( 320, 128, 128, 64 )
3/occluder_offset = Vector2( 64, 32 )
3/navigation_offset = Vector2( 64, 32 )
3/shape_offset = Vector2( 64, 32 )
3/shapes = [ SubResource( 9 ) ]
4/name = "corner"
4/texture = ExtResource( 1 )
4/tex_offset = Vector2( 0, 0 )
4/region = Rect2( 64, 128, 64, 64 )
4/occluder_offset = Vector2( 32, 32 )
4/navigation_offset = Vector2( 32, 32 )
4/shape_offset = Vector2( 32, 32 )
4/shapes = [ SubResource( 10 ) ]
5/name = "flowers"
5/texture = ExtResource( 1 )
5/tex_offset = Vector2( 0, 0 )
5/region = Rect2( 192, 192, 64, 64 )
5/occluder_offset = Vector2( 32, 32 )
5/navigation_offset = Vector2( 32, 32 )
5/shape_offset = Vector2( 32, 32 )
5/shapes = [ SubResource( 11 ) ]
6/name = "tree_base"
6/texture = ExtResource( 1 )
6/tex_offset = Vector2( 0, 0 )
6/region = Rect2( 256, 192, 64, 64 )
6/occluder_offset = Vector2( 32, 32 )
6/navigation_offset = Vector2( 32, 32 )
6/shape_offset = Vector2( 32, 32 )
6/shapes = [ SubResource( 12 ) ]
7/name = "tree_mid"
7/texture = ExtResource( 1 )
7/tex_offset = Vector2( 0, 0 )
7/region = Rect2( 256, 128, 64, 64 )
7/occluder_offset = Vector2( 32, 32 )
7/navigation_offset = Vector2( 32, 32 )
7/shape_offset = Vector2( 0, 0 )
7/shapes = [ ]
8/name = "tree_mid 2"
8/texture = ExtResource( 1 )
8/tex_offset = Vector2( 0, 0 )
8/region = Rect2( 256, 64, 64, 64 )
8/occluder_offset = Vector2( 32, 32 )
8/navigation_offset = Vector2( 32, 32 )
8/shape_offset = Vector2( 0, 0 )
8/shapes = [ ]
9/name = "tree_top"
9/texture = ExtResource( 1 )
9/tex_offset = Vector2( 0, 0 )
9/region = Rect2( 256, 0, 64, 64 )
9/occluder_offset = Vector2( 32, 32 )
9/navigation_offset = Vector2( 32, 32 )
9/shape_offset = Vector2( 0, 0 )
9/shapes = [ ]
10/name = "solid"
10/texture = ExtResource( 1 )
10/tex_offset = Vector2( 0, 0 )
10/region = Rect2( 0, 64, 64, 64 )
10/occluder_offset = Vector2( 32, 32 )
10/navigation_offset = Vector2( 32, 32 )
10/shape_offset = Vector2( 0, 0 )
10/shapes = [ ]
11/name = "ceiling"
11/texture = ExtResource( 1 )
11/tex_offset = Vector2( 0, 0 )
11/region = Rect2( 384, 64, 64, 64 )
11/occluder_offset = Vector2( 32, 32 )
11/navigation_offset = Vector2( 32, 32 )
11/shape_offset = Vector2( 32, 32 )
11/shapes = [ SubResource( 3 ) ]
12/name = "ramp"
12/texture = ExtResource( 1 )
12/tex_offset = Vector2( 0, 0 )
12/region = Rect2( 128, 128, 64, 128 )
12/occluder_offset = Vector2( 32, 64 )
12/navigation_offset = Vector2( 32, 64 )
12/shape_offset = Vector2( 32, 64 )
12/shapes = [ SubResource( 4 ) ]
13/name = "ceiling2wall"
13/texture = ExtResource( 1 )
13/tex_offset = Vector2( 0, 0 )
13/region = Rect2( 448, 64, 64, 64 )
13/occluder_offset = Vector2( 32, 32 )
13/navigation_offset = Vector2( 32, 32 )
13/shape_offset = Vector2( 32, 32 )
13/shapes = [ SubResource( 5 ) ]
14/name = "platform_floor"
14/texture = ExtResource( 1 )
14/tex_offset = Vector2( 0, 0 )
14/region = Rect2( 128, 0, 64, 64 )
14/occluder_offset = Vector2( 32, 32 )
14/navigation_offset = Vector2( 32, 32 )
14/shape_offset = Vector2( 32, 32 )
14/shapes = [ SubResource( 6 ) ]
15/name = "platform_edge"
15/texture = ExtResource( 1 )
15/tex_offset = Vector2( 0, 0 )
15/region = Rect2( 192, 0, 64, 64 )
15/occluder_offset = Vector2( 32, 32 )
15/navigation_offset = Vector2( 32, 32 )
15/shape_offset = Vector2( 32, 32 )
15/shapes = [ SubResource( 7 ) ]

View File

@@ -0,0 +1,432 @@
[gd_scene load_steps=14 format=1]
[ext_resource path="res://tiles_demo.png" type="Texture" id=1]
[sub_resource type="ConvexPolygonShape2D" id=1]
custom_solver_bias = 0.0
points = Vector2Array( -32, -24, 32, -24, 32, 32, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=2]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -24, 24, -24, 24, 32 )
[sub_resource type="ConvexPolygonShape2D" id=3]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
[sub_resource type="ConvexPolygonShape2D" id=4]
custom_solver_bias = 0.0
points = Vector2Array( -64, 32, -64, -32, -8, -32, -8, 32 )
[sub_resource type="ConvexPolygonShape2D" id=5]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=6]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=7]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=8]
custom_solver_bias = 0.0
points = Vector2Array( -32, -32, 32, -32, 32, 32, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=9]
custom_solver_bias = 0.0
points = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
[sub_resource type="ConvexPolygonShape2D" id=10]
custom_solver_bias = 0.0
points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 )
[sub_resource type="ConvexPolygonShape2D" id=11]
custom_solver_bias = 0.0
points = Vector2Array( -32, -24, 32, -24, 32, 24, -32, 24 )
[sub_resource type="ConvexPolygonShape2D" id=12]
custom_solver_bias = 0.0
points = Vector2Array( -32, -24, 24, -24, 24, 24, -32, 24 )
[node name="Node" type="Node"]
[node name="floor" type="Sprite" parent="."]
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 0, 0, 64, 64 )
[node name="collision" type="StaticBody2D" parent="floor"]
input/pickable = false
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="floor/collision"]
build_mode = 0
polygon = Vector2Array( 32, -24, 32, 32, -32, 32, -32, -24 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="edge" type="Sprite" parent="."]
transform/pos = Vector2( 64, 0 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 64, 0, 64, 64 )
[node name="collision" type="StaticBody2D" parent="edge"]
input/pickable = false
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="edge/collision"]
build_mode = 0
polygon = Vector2Array( -32, -24, 24, -24, 24, 32, -32, 32 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="wall" type="Sprite" parent="."]
transform/pos = Vector2( 64, 64 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 64, 64, 64, 64 )
[node name="collision" type="StaticBody2D" parent="wall"]
input/pickable = false
shapes/0/shape = SubResource( 3 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="wall/collision"]
build_mode = 0
polygon = Vector2Array( -32, -32, 24, -32, 24, 32, -32, 32 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="wall_deco" type="Sprite" parent="."]
transform/pos = Vector2( 96, 128 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 320, 128, 128, 64 )
[node name="collision" type="StaticBody2D" parent="wall_deco"]
input/pickable = false
shapes/0/shape = SubResource( 4 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="wall_deco/collision"]
build_mode = 0
polygon = Vector2Array( -64, -32, -8, -32, -8, 32, -64, 32 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="corner" type="Sprite" parent="."]
transform/pos = Vector2( 64, 192 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 64, 128, 64, 64 )
[node name="collision" type="StaticBody2D" parent="corner"]
input/pickable = false
shapes/0/shape = SubResource( 5 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="corner/collision"]
build_mode = 0
polygon = Vector2Array( -32, -32, 24, -32, 32, -24, 32, 32, -32, 32 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="flowers" type="Sprite" parent="."]
transform/pos = Vector2( 128, 192 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 192, 192, 64, 64 )
[node name="collision" type="StaticBody2D" parent="flowers"]
input/pickable = false
shapes/0/shape = SubResource( 6 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="flowers/collision"]
build_mode = 0
polygon = Vector2Array( -32, 32, 32, 32, 32, -24, -32, -24 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="tree_base" type="Sprite" parent="."]
transform/pos = Vector2( 192, 192 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 256, 192, 64, 64 )
[node name="collision" type="StaticBody2D" parent="tree_base"]
input/pickable = false
shapes/0/shape = SubResource( 7 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="tree_base/collision"]
build_mode = 0
polygon = Vector2Array( -32, 32, 32, 32, 32, -24, -32, -24 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="tree_mid" type="Sprite" parent="."]
transform/pos = Vector2( 192, 128 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 256, 128, 64, 64 )
[node name="tree_mid 2" type="Sprite" parent="."]
transform/pos = Vector2( 192, 64 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 256, 64, 64, 64 )
[node name="tree_top" type="Sprite" parent="."]
transform/pos = Vector2( 192, 0 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 256, 0, 64, 64 )
[node name="solid" type="Sprite" parent="."]
transform/pos = Vector2( 0, 64 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 0, 64, 64, 64 )
[node name="ceiling" type="Sprite" parent="."]
transform/pos = Vector2( 0, 128 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 384, 64, 64, 64 )
[node name="collision" type="StaticBody2D" parent="ceiling"]
input/pickable = false
shapes/0/shape = SubResource( 8 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ceiling/collision"]
build_mode = 0
polygon = Vector2Array( 32, -32, 32, 32, -32, 32, -32, -32 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="ramp" type="Sprite" parent="."]
transform/pos = Vector2( 256, 224 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 128, 128, 64, 128 )
[node name="collision" type="StaticBody2D" parent="ramp"]
input/pickable = false
shapes/0/shape = SubResource( 9 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ramp/collision"]
build_mode = 0
polygon = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="ceiling2wall" type="Sprite" parent="."]
transform/pos = Vector2( 0, 192 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 448, 64, 64, 64 )
[node name="collision" type="StaticBody2D" parent="ceiling2wall"]
input/pickable = false
shapes/0/shape = SubResource( 10 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ceiling2wall/collision"]
build_mode = 0
polygon = Vector2Array( -32, -32, 24, -32, 24, 32, -32, 32 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="platform_floor" type="Sprite" parent="."]
transform/pos = Vector2( 0, 256 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 128, 0, 64, 64 )
[node name="collision" type="StaticBody2D" parent="platform_floor"]
input/pickable = false
shapes/0/shape = SubResource( 11 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform_floor/collision"]
build_mode = 0
polygon = Vector2Array( 32, -24, 32, 24, -32, 24, -32, -24 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="platform_edge" type="Sprite" parent="."]
transform/pos = Vector2( 64, 256 )
texture = ExtResource( 1 )
region = true
region_rect = Rect2( 192, 0, 64, 64 )
[node name="collision" type="StaticBody2D" parent="platform_edge"]
input/pickable = false
shapes/0/shape = SubResource( 12 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
collision/layers = 1
collision/mask = 1
constant_linear_velocity = Vector2( 0, 0 )
constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform_edge/collision"]
build_mode = 0
polygon = Vector2Array( 24, -24, 24, 24, -32, 24, -32, -24 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="help" type="Label" parent="."]
focus/ignore_mouse = true
focus/stop_mouse = true
size_flags/horizontal = 2
margin/left = 1.0
margin/top = 331.0
margin/right = 727.0
margin/bottom = 422.0
text = "This scene serves as a tool for editing the tileset.\nNodes (sprites) and their respective collisionsare edited here.\n\nTo create a tileset from this, a \"TileSet\" resoucre must be created. Use the helper in: Scene -> Convert To -> TileSet.\nThis will save a tileset. Saving over it will merge your changes.\n\nFinally, the saved tileset resource (tileset.tres in this case), can be opened to be used into a TileMap node for editing a tile map."
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1