diff options
Diffstat (limited to 'demos/2d/platformer')
42 files changed, 3688 insertions, 0 deletions
diff --git a/demos/2d/platformer/bullet.gd b/demos/2d/platformer/bullet.gd new file mode 100644 index 0000000000..6836116aa4 --- /dev/null +++ b/demos/2d/platformer/bullet.gd @@ -0,0 +1,20 @@ + +extends RigidBody2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +var disabled=false + +func disable(): + if (disabled): + return + get_node("anim").play("shutdown") + disabled=true + +func _ready(): + # Initalization here + pass + + diff --git a/demos/2d/platformer/bullet.png b/demos/2d/platformer/bullet.png Binary files differnew file mode 100644 index 0000000000..5c722219ec --- /dev/null +++ b/demos/2d/platformer/bullet.png diff --git a/demos/2d/platformer/bullet.xml b/demos/2d/platformer/bullet.xml new file mode 100644 index 0000000000..9de518c703 --- /dev/null +++ b/demos/2d/platformer/bullet.xml @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="5" version="0.99" version_name="Godot Engine v0.99.3037-pre-beta"> + <ext_resource path="res://bullet.png" type="Texture"></ext_resource> + <ext_resource path="res://bullet.gd" type="GDScript"></ext_resource> + <resource type="CircleShape2D" path="local://0"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <real name="radius"> 10 </real> + <resource name="script/script"></resource> + </resource> + <resource type="Animation" path="local://1"> + <string name="resource/name"> "shutdown" </string> + <real name="length"> 1.5 </real> + <bool name="loop"> False </bool> + <real name="step"> 0 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "particles:config/emitting" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1"> + <bool> False </bool> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + <string name="tracks/1/type"> "value" </string> + <node_path name="tracks/1/path"> "sprite:visibility/self_opacity" </node_path> + <int name="tracks/1/interp"> 1 </int> + <dictionary name="tracks/1/keys"> + <string> "cont" </string> + <bool> True </bool> + <string> "transitions" </string> + <real_array len="2"> 1, 1 </real_array> + <string> "values" </string> + <array len="2"> + <real> 1 </real> + <real> 0 </real> + </array> + <string> "times" </string> + <real_array len="2"> 0, 1.00394 </real_array> + </dictionary> + <string name="tracks/2/type"> "method" </string> + <node_path name="tracks/2/path"> "." </node_path> + <int name="tracks/2/interp"> 1 </int> + <dictionary name="tracks/2/keys"> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1"> + <dictionary> + <string> "args" </string> + <array len="0"> + </array> + <string> "method" </string> + <string> "queue_free" </string> + </dictionary> + </array> + <string> "times" </string> + <real_array len="1"> 1.31 </real_array> + </dictionary> + <resource name="script/script"></resource> + </resource> + <main_resource> + <string name="resource/name"> "" </string> + <dictionary name="_bundled"> + <string> "names" </string> + <string_array len="109"> + <string> "bullet" </string> + <string> "RigidBody2D" </string> + <string> "process/process" </string> + <string> "process/fixed_process" </string> + <string> "process/input" </string> + <string> "process/unhandled_input" </string> + <string> "process/mode" </string> + <string> "visibility/visible" </string> + <string> "visibility/toplevel" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "visibility/blend_mode" </string> + <string> "transform/notify" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "shape_count" </string> + <string> "shapes/0/shape" </string> + <string> "shapes/0/transform" </string> + <string> "mode" </string> + <string> "mass" </string> + <string> "friction" </string> + <string> "bounce" </string> + <string> "custom_integrator" </string> + <string> "continuous_cd" </string> + <string> "contacts_reported" </string> + <string> "contact_monitor" </string> + <string> "active" </string> + <string> "can_sleep" </string> + <string> "velocity/linear" </string> + <string> "velocity/angular" </string> + <string> "script/script" </string> + <string> "__meta__" </string> + <string> "particles" </string> + <string> "Particles2D" </string> + <string> "config/amount" </string> + <string> "config/lifetime" </string> + <string> "config/preprocess" </string> + <string> "config/emit_timeout" </string> + <string> "config/emitting" </string> + <string> "config/offset" </string> + <string> "config/half_extents" </string> + <string> "config/local_space" </string> + <string> "config/explosiveness" </string> + <string> "config/texture" </string> + <string> "params/direction" </string> + <string> "params/spread" </string> + <string> "params/linear_velocity" </string> + <string> "params/spin_velocity" </string> + <string> "params/gravity_direction" </string> + <string> "params/gravity_strength" </string> + <string> "params/radial_accel" </string> + <string> "params/tangential_accel" </string> + <string> "params/damping" </string> + <string> "params/initial_size" </string> + <string> "params/final_size" </string> + <string> "params/hue_variation" </string> + <string> "randomness/direction" </string> + <string> "randomness/spread" </string> + <string> "randomness/linear_velocity" </string> + <string> "randomness/spin_velocity" </string> + <string> "randomness/gravity_direction" </string> + <string> "randomness/gravity_strength" </string> + <string> "randomness/radial_accel" </string> + <string> "randomness/tangential_accel" </string> + <string> "randomness/damping" </string> + <string> "randomness/initial_size" </string> + <string> "randomness/final_size" </string> + <string> "randomness/hue_variation" </string> + <string> "color_phases/count" </string> + <string> "phase_0/pos" </string> + <string> "phase_0/color" </string> + <string> "phase_1/pos" </string> + <string> "phase_1/color" </string> + <string> "phase_2/pos" </string> + <string> "phase_2/color" </string> + <string> "phase_3/pos" </string> + <string> "phase_3/color" </string> + <string> "sprite" </string> + <string> "Sprite" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "offset" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "CollisionShape2D" </string> + <string> "shape" </string> + <string> "Timer" </string> + <string> "wait_time" </string> + <string> "one_shot" </string> + <string> "autostart" </string> + <string> "anim" </string> + <string> "AnimationPlayer" </string> + <string> "playback/process_mode" </string> + <string> "playback/default_blend_time" </string> + <string> "root/root" </string> + <string> "speed" </string> + <string> "anims/shutdown" </string> + <string> "blend_times" </string> + <string> "autoplay" </string> + <string> "disable" </string> + <string> "timeout" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 1 </int> + <string> "node_count" </string> + <int> 6 </int> + <string> "variants" </string> + <array len="27"> + <bool> False </bool> + <int> 0 </int> + <bool> True </bool> + <real> 1 </real> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <int> 1 </int> + <resource resource_type="CircleShape2D" path="local://0"> </resource> + <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> + <resource resource_type="GDScript" path="res://bullet.gd"> </resource> + <dictionary> + <string> "__editor_plugin_states__" </string> + <dictionary> + <string> "Script" </string> + <dictionary> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="3"> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://bullet.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary> + <string> "zoom" </string> + <real> 3.424785 </real> + <string> "ofs" </string> + <vector2> -74.7573, -35.9676 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 45 </real> + <string> "window_mode" </string> + <int> 0 </int> + <string> "window_0" </string> + <dictionary> + <string> "distance" </string> + <real> 10.07268 </real> + <string> "default_light" </string> + <bool> True </bool> + <string> "x_rot" </string> + <real> 0.337 </real> + <string> "y_rot" </string> + <real> -0.575 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "Script" </string> + </dictionary> + <real> 0.559322 </real> + <int> 24 </int> + <real> 0.1 </real> + <resource resource_type="Texture" path="res://bullet.png"> </resource> + <real> 10 </real> + <int> 2 </int> + <color> 1, 1, 1, 1 </color> + <color> 1, 0, 0, 0 </color> + <color> 0, 0, 0, 1 </color> + <resource name=""></resource> <rect2> 0, 0, 0, 0 </rect2> + <node_path> ".." </node_path> + <resource resource_type="Animation" path="local://1"> </resource> + <array len="0"> + </array> + <string> "" </string> + </array> + <string> "nodes" </string> + <int_array len="356"> -1, -1, 1, 0, -1, 32, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 17, 7, 18, 8, 19, 9, 20, 1, 21, 3, 22, 3, 23, 5, 24, 0, 25, 0, 26, 1, 27, 0, 28, 2, 29, 2, 30, 4, 31, 5, 32, 10, 33, 11, 0, 0, 0, 35, 34, -1, 59, 2, 2, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 12, 10, 3, 11, 2, 12, 7, 13, 0, 14, 4, 15, 5, 16, 6, 36, 13, 37, 14, 38, 5, 39, 5, 40, 2, 41, 4, 42, 4, 43, 0, 44, 3, 45, 15, 46, 5, 47, 16, 48, 5, 49, 5, 50, 5, 51, 5, 52, 5, 53, 5, 54, 5, 55, 3, 56, 5, 57, 5, 58, 5, 59, 5, 60, 5, 61, 5, 62, 5, 63, 5, 64, 5, 65, 5, 66, 5, 67, 5, 68, 5, 69, 5, 70, 17, 71, 5, 72, 18, 73, 3, 74, 19, 75, 3, 76, 20, 77, 3, 78, 20, 32, 21, 0, 0, 0, 80, 79, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 4, 15, 5, 16, 6, 81, 15, 82, 2, 83, 4, 84, 0, 85, 0, 86, 7, 87, 7, 88, 1, 89, 18, 90, 0, 91, 22, 32, 21, 0, 0, 0, 92, 92, -1, 17, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 93, 8, 32, 21, 0, 0, 0, 94, 94, -1, 9, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 95, 3, 96, 2, 97, 2, 32, 21, 0, 0, 0, 99, 98, -1, 13, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 100, 7, 101, 5, 102, 23, 103, 3, 104, 24, 105, 25, 106, 26, 32, 21, 0 </int_array> + <string> "conns" </string> + <int_array len="6"> 4, 0, 108, 107, 2, 0 </int_array> + </dictionary> + <resource name="script/script"></resource> + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/coin.gd b/demos/2d/platformer/coin.gd new file mode 100644 index 0000000000..3e31a395ae --- /dev/null +++ b/demos/2d/platformer/coin.gd @@ -0,0 +1,20 @@ + +extends Area2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +var taken=false + + +func _on_body_enter( body ): + if (not taken and body extends preload("res://player.gd")): + get_node("anim").play("taken") + taken=true + + +func _ready(): + # Initalization here + pass + diff --git a/demos/2d/platformer/coin.png b/demos/2d/platformer/coin.png Binary files differnew file mode 100644 index 0000000000..c35c5ebf28 --- /dev/null +++ b/demos/2d/platformer/coin.png diff --git a/demos/2d/platformer/coin.xml b/demos/2d/platformer/coin.xml new file mode 100644 index 0000000000..194ea711b0 --- /dev/null +++ b/demos/2d/platformer/coin.xml @@ -0,0 +1,437 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="9" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> + <ext_resource path="res://bullet.*" type="Texture"></ext_resource> + <ext_resource path="res://coin.*" type="Texture"></ext_resource> + <ext_resource path="res://sound_coin.*" type="Sample"></ext_resource> + <ext_resource path="res://coin.*" type="Script"></ext_resource> + <resource type="CircleShape2D" path="local://1"> + <real name="custom_solver_bias"> 0 </real> + <real name="radius"> 10 </real> + + </resource> + <resource type="Animation" path="local://2"> + <string name="resource/name"> "taken" </string> + <real name="length"> 8 </real> + <bool name="loop"> False </bool> + <real name="step"> 0 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> True </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <int> 0 </int> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + <string name="tracks/1/type"> "value" </string> + <node_path name="tracks/1/path"> "sound:play/play" </node_path> + <int name="tracks/1/interp"> 1 </int> + <dictionary name="tracks/1/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <string> "coin" </string> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + <string name="tracks/2/type"> "value" </string> + <node_path name="tracks/2/path"> "particles:visibility/self_opacity" </node_path> + <int name="tracks/2/interp"> 1 </int> + <dictionary name="tracks/2/keys" shared="false"> + <string> "cont" </string> + <bool> True </bool> + <string> "transitions" </string> + <real_array len="2"> 1, 1 </real_array> + <string> "values" </string> + <array len="2" shared="false"> + <real> 1 </real> + <real> 0 </real> + </array> + <string> "times" </string> + <real_array len="2"> 0, 1.66 </real_array> + </dictionary> + <string name="tracks/3/type"> "value" </string> + <node_path name="tracks/3/path"> "sprite:visibility/self_opacity" </node_path> + <int name="tracks/3/interp"> 1 </int> + <dictionary name="tracks/3/keys" shared="false"> + <string> "cont" </string> + <bool> True </bool> + <string> "transitions" </string> + <real_array len="2"> 1, 1 </real_array> + <string> "values" </string> + <array len="2" shared="false"> + <real> 1 </real> + <real> 0 </real> + </array> + <string> "times" </string> + <real_array len="2"> 0, 0.4 </real_array> + </dictionary> + <string name="tracks/4/type"> "value" </string> + <node_path name="tracks/4/path"> "particles:config/emitting" </node_path> + <int name="tracks/4/interp"> 1 </int> + <dictionary name="tracks/4/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <bool> True </bool> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + <string name="tracks/5/type"> "method" </string> + <node_path name="tracks/5/path"> "." </node_path> + <int name="tracks/5/interp"> 1 </int> + <dictionary name="tracks/5/keys" shared="false"> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <dictionary shared="false"> + <string> "args" </string> + <array len="0" shared="false"> + </array> + <string> "method" </string> + <string> "queue_free" </string> + </dictionary> + </array> + <string> "times" </string> + <real_array len="1"> 2.7 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://3"> + <string name="resource/name"> "spin" </string> + <real name="length"> 1.5 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="7"> 1, 1, 1, 1, 1, 1, 1 </real_array> + <string> "values" </string> + <array len="7" shared="false"> + <int> 0 </int> + <int> 1 </int> + <int> 2 </int> + <int> 3 </int> + <int> 2 </int> + <int> 1 </int> + <int> 0 </int> + </array> + <string> "times" </string> + <real_array len="7"> 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 </real_array> + </dictionary> + + </resource> + <resource type="SampleLibrary" path="local://4"> + <dictionary name="samples/coin" shared="false"> + <string> "db" </string> + <real> 0 </real> + <string> "pitch" </string> + <real> 1 </real> + <string> "sample" </string> + <resource resource_type="Sample" path="res://sound_coin.*"> </resource> + </dictionary> + + </resource> + <main_resource> + <dictionary name="_bundled" shared="false"> + <string> "names" </string> + <string_array len="115"> + <string> "coin" </string> + <string> "Area2D" </string> + <string> "visibility/visible" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "shape_count" </string> + <string> "shapes/0/shape" </string> + <string> "shapes/0/transform" </string> + <string> "shapes/0/trigger" </string> + <string> "gravity_point" </string> + <string> "gravity_vec" </string> + <string> "gravity" </string> + <string> "density" </string> + <string> "monitoring" </string> + <string> "script/script" </string> + <string> "__meta__" </string> + <string> "sprite" </string> + <string> "Sprite" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "offset" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "anim" </string> + <string> "AnimationPlayer" </string> + <string> "playback/process_mode" </string> + <string> "playback/default_blend_time" </string> + <string> "root/root" </string> + <string> "anims/taken" </string> + <string> "anims/spin" </string> + <string> "playback/active" </string> + <string> "playback/speed" </string> + <string> "blend_times" </string> + <string> "autoplay" </string> + <string> "collision" </string> + <string> "CollisionShape2D" </string> + <string> "shape" </string> + <string> "trigger" </string> + <string> "sound" </string> + <string> "SamplePlayer2D" </string> + <string> "params/volume_db" </string> + <string> "params/pitch_scale" </string> + <string> "params/attenuation/min_distance" </string> + <string> "params/attenuation/max_distance" </string> + <string> "params/attenuation/distance_exp" </string> + <string> "config/polyphony" </string> + <string> "config/samples" </string> + <string> "config/pitch_random" </string> + <string> "particles" </string> + <string> "Particles2D" </string> + <string> "visibility/blend_mode" </string> + <string> "config/amount" </string> + <string> "config/lifetime" </string> + <string> "config/time_scale" </string> + <string> "config/preprocess" </string> + <string> "config/emit_timeout" </string> + <string> "config/emitting" </string> + <string> "config/offset" </string> + <string> "config/half_extents" </string> + <string> "config/local_space" </string> + <string> "config/explosiveness" </string> + <string> "config/texture" </string> + <string> "params/direction" </string> + <string> "params/spread" </string> + <string> "params/linear_velocity" </string> + <string> "params/spin_velocity" </string> + <string> "params/orbit_velocity" </string> + <string> "params/gravity_direction" </string> + <string> "params/gravity_strength" </string> + <string> "params/radial_accel" </string> + <string> "params/tangential_accel" </string> + <string> "params/damping" </string> + <string> "params/initial_size" </string> + <string> "params/final_size" </string> + <string> "params/hue_variation" </string> + <string> "randomness/direction" </string> + <string> "randomness/spread" </string> + <string> "randomness/linear_velocity" </string> + <string> "randomness/spin_velocity" </string> + <string> "randomness/orbit_velocity" </string> + <string> "randomness/gravity_direction" </string> + <string> "randomness/gravity_strength" </string> + <string> "randomness/radial_accel" </string> + <string> "randomness/tangential_accel" </string> + <string> "randomness/damping" </string> + <string> "randomness/initial_size" </string> + <string> "randomness/final_size" </string> + <string> "randomness/hue_variation" </string> + <string> "color_phases/count" </string> + <string> "phase_0/pos" </string> + <string> "phase_0/color" </string> + <string> "phase_1/pos" </string> + <string> "phase_1/color" </string> + <string> "phase_2/pos" </string> + <string> "phase_2/color" </string> + <string> "phase_3/pos" </string> + <string> "phase_3/color" </string> + <string> "emission_points" </string> + <string> "enabler" </string> + <string> "VisibilityEnabler2D" </string> + <string> "rect" </string> + <string> "enabler/pause_animations" </string> + <string> "enabler/freeze_bodies" </string> + <string> "_on_body_enter" </string> + <string> "body_enter" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 1 </int> + <string> "node_count" </string> + <int> 7 </int> + <string> "variants" </string> + <array len="37" shared="false"> + <bool> True </bool> + <real> 1 </real> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <int> 1 </int> + <resource resource_type="Shape2D" path="local://1"> </resource> + <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> + <bool> False </bool> + <vector2> 0, 1 </vector2> + <real> 98 </real> + <real> 0.1 </real> + <resource resource_type="Script" path="res://coin.*"> </resource> + <dictionary shared="false"> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 2 </int> + <string> "sources" </string> + <array len="3" shared="false"> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://coin.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary shared="false"> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 3.794776 </real> + <string> "ofs" </string> + <vector2> -34.3697, -21.6562 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 45 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + </array> + <string> "viewport_mode" </string> + <int> 1 </int> + <string> "default_light" </string> + <bool> True </bool> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + </dictionary> + <resource resource_type="Texture" path="res://coin.*"> </resource> + <int> 4 </int> + <int> 0 </int> + <color> 1, 1, 1, 1 </color> + <rect2> 0, 0, 0, 0 </rect2> + <node_path> ".." </node_path> + <resource resource_type="Animation" path="local://2"> </resource> + <resource resource_type="Animation" path="local://3"> </resource> + <real> 3 </real> + <array len="0" shared="false"> + </array> + <string> "spin" </string> + <real> 2048 </real> + <resource resource_type="SampleLibrary" path="local://4"> </resource> + <int> 8 </int> + <real> 0.4 </real> + <vector2> 5, 5 </vector2> + <resource resource_type="Texture" path="res://bullet.*"> </resource> + <real> 10 </real> + <real> 0.2 </real> + <int> 2 </int> + <color> 0, 0, 0, 1 </color> + <vector2_array len="0"> </vector2_array> + <rect2> -10, -10, 20, 20 </rect2> + </array> + <string> "nodes" </string> + <int_array len="317"> -1, -1, 1, 0, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 8, 13, 8, 14, 9, 15, 10, 16, 11, 17, 0, 18, 12, 19, 13, 0, 0, 0, 21, 20, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 22, 14, 23, 0, 24, 2, 25, 8, 26, 8, 27, 5, 28, 15, 29, 16, 30, 17, 31, 8, 32, 18, 0, 0, 0, 34, 33, -1, 9, 35, 5, 36, 3, 37, 19, 38, 20, 39, 21, 40, 0, 41, 22, 42, 23, 43, 24, 0, 0, 0, 45, 44, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 46, 6, 47, 8, 0, 0, 0, 49, 48, -1, 15, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 50, 3, 51, 1, 52, 1, 53, 25, 54, 1, 55, 5, 56, 26, 57, 3, 0, 0, 0, 59, 58, -1, 55, 2, 0, 3, 1, 4, 1, 5, 0, 60, 5, 6, 2, 7, 3, 8, 4, 61, 27, 62, 28, 63, 1, 64, 3, 65, 3, 66, 8, 67, 2, 68, 29, 69, 0, 70, 1, 71, 30, 72, 3, 73, 31, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 32, 83, 32, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 33, 99, 3, 100, 17, 101, 1, 102, 34, 103, 1, 104, 34, 105, 1, 106, 34, 107, 35, 0, 0, 0, 109, 108, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 110, 36, 111, 0, 112, 0, 0 </int_array> + <string> "conns" </string> + <int_array len="6"> 0, 0, 114, 113, 2, 0 </int_array> + </dictionary> + + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/enemy.gd b/demos/2d/platformer/enemy.gd new file mode 100644 index 0000000000..5ec7cb28a7 --- /dev/null +++ b/demos/2d/platformer/enemy.gd @@ -0,0 +1,97 @@ + +extends RigidBody2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +const STATE_WALKING = 0 +const STATE_DYING = 1 + + +var state = STATE_WALKING + + +var direction = -1 +var anim="" + +var rc_left=null +var rc_right=null +var WALK_SPEED = 50 + +var bullet_class = preload("res://bullet.gd") + +func _die(): + queue_free() + +func _pre_explode(): + #stay there + clear_shapes() + set_mode(MODE_STATIC) + get_node("sound").play("explode") + + +func _integrate_forces(s): + + var lv = s.get_linear_velocity() + var new_anim=anim + + if (state==STATE_DYING): + new_anim="explode" + elif (state==STATE_WALKING): + + new_anim="walk" + + var wall_side=0.0 + + for i in range(s.get_contact_count()): + var cc = s.get_contact_collider_object(i) + var dp = s.get_contact_local_normal(i) + + if (cc): + + + if (cc extends bullet_class and not cc.disabled): + set_mode(MODE_RIGID) + state=STATE_DYING + #lv=s.get_contact_local_normal(i)*400 + s.set_angular_velocity(sign(dp.x)*33.0) + set_friction(true) + cc.disable() + get_node("sound").play("hit") + + break + + + if (dp.x>0.9): + wall_side=1.0 + elif (dp.x<-0.9): + wall_side=-1.0 + + if (wall_side!=0 and wall_side!=direction): + + direction=-direction + get_node("sprite").set_scale( Vector2(-direction,1) ) + if (direction<0 and not rc_left.is_colliding() and rc_right.is_colliding()): + direction=-direction + get_node("sprite").set_scale( Vector2(-direction,1) ) + elif (direction>0 and not rc_right.is_colliding() and rc_left.is_colliding()): + direction=-direction + get_node("sprite").set_scale( Vector2(-direction,1) ) + + + lv.x = direction * WALK_SPEED + + if( anim!=new_anim ): + anim=new_anim + get_node("anim").play(anim) + + s.set_linear_velocity(lv) + + +func _ready(): + # Initalization here + rc_left=get_node("raycast_left") + rc_right=get_node("raycast_right") + + diff --git a/demos/2d/platformer/enemy.png b/demos/2d/platformer/enemy.png Binary files differnew file mode 100644 index 0000000000..37fe468b0f --- /dev/null +++ b/demos/2d/platformer/enemy.png diff --git a/demos/2d/platformer/enemy.xml b/demos/2d/platformer/enemy.xml new file mode 100644 index 0000000000..470797db46 --- /dev/null +++ b/demos/2d/platformer/enemy.xml @@ -0,0 +1,481 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="11" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> + <ext_resource path="res://sound_explode.*" type="Sample"></ext_resource> + <ext_resource path="res://enemy.*" type="Texture"></ext_resource> + <ext_resource path="res://enemy.*" type="Script"></ext_resource> + <ext_resource path="res://sound_hit.*" type="Sample"></ext_resource> + <ext_resource path="res://bullet.*" type="Texture"></ext_resource> + <resource type="CircleShape2D" path="local://1"> + <real name="custom_solver_bias"> 0 </real> + <real name="radius"> 14 </real> + + </resource> + <resource type="Animation" path="local://2"> + <string name="resource/name"> "idle" </string> + <real name="length"> 6.75 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="10"> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 </real_array> + <string> "values" </string> + <array len="10" shared="false"> + <int> 5 </int> + <int> 6 </int> + <int> 5 </int> + <int> 6 </int> + <int> 5 </int> + <int> 6 </int> + <int> 7 </int> + <int> 6 </int> + <int> 7 </int> + <int> 5 </int> + </array> + <string> "times" </string> + <real_array len="10"> 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://3"> + <string name="resource/name"> "explode" </string> + <real name="length"> 6 </real> + <bool name="loop"> False </bool> + <real name="step"> 0 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:visibility/self_opacity" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> True </bool> + <string> "transitions" </string> + <real_array len="2"> 1, 1 </real_array> + <string> "values" </string> + <array len="2" shared="false"> + <real> 1 </real> + <real> 0 </real> + </array> + <string> "times" </string> + <real_array len="2"> 3.58422, 4.33851 </real_array> + </dictionary> + <string name="tracks/1/type"> "value" </string> + <node_path name="tracks/1/path"> "sprite:frame" </node_path> + <int name="tracks/1/interp"> 1 </int> + <dictionary name="tracks/1/keys" shared="false"> + <string> "cont" </string> + <bool> True </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <int> 4 </int> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + <string name="tracks/2/type"> "value" </string> + <node_path name="tracks/2/path"> "Particles2D:config/emitting" </node_path> + <int name="tracks/2/interp"> 1 </int> + <dictionary name="tracks/2/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <bool> True </bool> + </array> + <string> "times" </string> + <real_array len="1"> 3.47394 </real_array> + </dictionary> + <string name="tracks/3/type"> "method" </string> + <node_path name="tracks/3/path"> "." </node_path> + <int name="tracks/3/interp"> 1 </int> + <dictionary name="tracks/3/keys" shared="false"> + <string> "transitions" </string> + <real_array len="2"> 1, 1 </real_array> + <string> "values" </string> + <array len="2" shared="false"> + <dictionary shared="false"> + <string> "args" </string> + <array len="0" shared="false"> + </array> + <string> "method" </string> + <string> "_pre_explode" </string> + </dictionary> + <dictionary shared="false"> + <string> "args" </string> + <array len="0" shared="false"> + </array> + <string> "method" </string> + <string> "_die" </string> + </dictionary> + </array> + <string> "times" </string> + <real_array len="2"> 3.20357, 5.07305 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://4"> + <string name="resource/name"> "walk" </string> + <real name="length"> 1.25 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> + <string> "values" </string> + <array len="6" shared="false"> + <int> 0 </int> + <int> 1 </int> + <int> 2 </int> + <int> 3 </int> + <int> 4 </int> + <int> 0 </int> + </array> + <string> "times" </string> + <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> + </dictionary> + + </resource> + <resource type="SampleLibrary" path="local://5"> + <dictionary name="samples/explode" shared="false"> + <string> "db" </string> + <real> 0 </real> + <string> "pitch" </string> + <real> 1 </real> + <string> "sample" </string> + <resource resource_type="Sample" path="res://sound_explode.*"> </resource> + </dictionary> + <dictionary name="samples/hit" shared="false"> + <string> "db" </string> + <real> 0 </real> + <string> "pitch" </string> + <real> 1 </real> + <string> "sample" </string> + <resource resource_type="Sample" path="res://sound_hit.*"> </resource> + </dictionary> + + </resource> + <main_resource> + <dictionary name="_bundled" shared="false"> + <string> "names" </string> + <string_array len="132"> + <string> "enemy" </string> + <string> "RigidBody2D" </string> + <string> "visibility/visible" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "shape_count" </string> + <string> "shapes/0/shape" </string> + <string> "shapes/0/transform" </string> + <string> "shapes/0/trigger" </string> + <string> "shapes/1/shape" </string> + <string> "shapes/1/transform" </string> + <string> "shapes/1/trigger" </string> + <string> "shapes/2/shape" </string> + <string> "shapes/2/transform" </string> + <string> "shapes/2/trigger" </string> + <string> "mode" </string> + <string> "mass" </string> + <string> "friction" </string> + <string> "bounce" </string> + <string> "custom_integrator" </string> + <string> "continuous_cd" </string> + <string> "contacts_reported" </string> + <string> "contact_monitor" </string> + <string> "active" </string> + <string> "can_sleep" </string> + <string> "velocity/linear" </string> + <string> "velocity/angular" </string> + <string> "script/script" </string> + <string> "__meta__" </string> + <string> "enabler" </string> + <string> "VisibilityEnabler2D" </string> + <string> "rect" </string> + <string> "enabler/pause_animations" </string> + <string> "enabler/freeze_bodies" </string> + <string> "anim" </string> + <string> "AnimationPlayer" </string> + <string> "playback/process_mode" </string> + <string> "playback/default_blend_time" </string> + <string> "root/root" </string> + <string> "anims/idle" </string> + <string> "anims/explode" </string> + <string> "anims/walk" </string> + <string> "playback/active" </string> + <string> "playback/speed" </string> + <string> "blend_times" </string> + <string> "autoplay" </string> + <string> "CollisionShape2D" </string> + <string> "shape" </string> + <string> "trigger" </string> + <string> "CollisionShape2D 2" </string> + <string> "CollisionShape2D 3" </string> + <string> "sprite" </string> + <string> "Sprite" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "offset" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "raycast_left" </string> + <string> "RayCast2D" </string> + <string> "enabled" </string> + <string> "cast_to" </string> + <string> "raycast_right" </string> + <string> "Particles2D" </string> + <string> "visibility/blend_mode" </string> + <string> "config/amount" </string> + <string> "config/lifetime" </string> + <string> "config/time_scale" </string> + <string> "config/preprocess" </string> + <string> "config/emit_timeout" </string> + <string> "config/emitting" </string> + <string> "config/offset" </string> + <string> "config/half_extents" </string> + <string> "config/local_space" </string> + <string> "config/explosiveness" </string> + <string> "config/texture" </string> + <string> "params/direction" </string> + <string> "params/spread" </string> + <string> "params/linear_velocity" </string> + <string> "params/spin_velocity" </string> + <string> "params/orbit_velocity" </string> + <string> "params/gravity_direction" </string> + <string> "params/gravity_strength" </string> + <string> "params/radial_accel" </string> + <string> "params/tangential_accel" </string> + <string> "params/damping" </string> + <string> "params/initial_size" </string> + <string> "params/final_size" </string> + <string> "params/hue_variation" </string> + <string> "randomness/direction" </string> + <string> "randomness/spread" </string> + <string> "randomness/linear_velocity" </string> + <string> "randomness/spin_velocity" </string> + <string> "randomness/orbit_velocity" </string> + <string> "randomness/gravity_direction" </string> + <string> "randomness/gravity_strength" </string> + <string> "randomness/radial_accel" </string> + <string> "randomness/tangential_accel" </string> + <string> "randomness/damping" </string> + <string> "randomness/initial_size" </string> + <string> "randomness/final_size" </string> + <string> "randomness/hue_variation" </string> + <string> "color_phases/count" </string> + <string> "phase_0/pos" </string> + <string> "phase_0/color" </string> + <string> "phase_1/pos" </string> + <string> "phase_1/color" </string> + <string> "phase_2/pos" </string> + <string> "phase_2/color" </string> + <string> "phase_3/pos" </string> + <string> "phase_3/color" </string> + <string> "emission_points" </string> + <string> "sound" </string> + <string> "SamplePlayer2D" </string> + <string> "params/volume_db" </string> + <string> "params/pitch_scale" </string> + <string> "params/attenuation/min_distance" </string> + <string> "params/attenuation/max_distance" </string> + <string> "params/attenuation/distance_exp" </string> + <string> "config/polyphony" </string> + <string> "config/samples" </string> + <string> "config/pitch_random" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 0 </int> + <string> "node_count" </string> + <int> 11 </int> + <string> "variants" </string> + <array len="51" shared="false"> + <bool> True </bool> + <real> 1 </real> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <int> 3 </int> + <resource resource_type="Shape2D" path="local://1"> </resource> + <matrix32> 1, -0, 0, 1, -1.08072, -2.16144 </matrix32> + <bool> False </bool> + <matrix32> 1, -0, 0, 1, 6.48431, 3.24216 </matrix32> + <matrix32> 1, -0, 0, 1, -12.495, 3.53415 </matrix32> + <int> 2 </int> + <int> 4 </int> + <resource resource_type="Script" path="res://enemy.*"> </resource> + <dictionary shared="false"> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="1" shared="false"> + <string> "res://enemy.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary shared="false"> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 1.108033 </real> + <string> "ofs" </string> + <vector2> -227.625, -197.9 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 45 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + </array> + <string> "viewport_mode" </string> + <int> 1 </int> + <string> "default_light" </string> + <bool> True </bool> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + </dictionary> + <vector2> 16.2569, 11.0034 </vector2> + <vector2> 23.5056, 10.8629 </vector2> + <rect2> -10, -10, 20, 20 </rect2> + <int> 1 </int> + <node_path> ".." </node_path> + <resource resource_type="Animation" path="local://2"> </resource> + <resource resource_type="Animation" path="local://3"> </resource> + <resource resource_type="Animation" path="local://4"> </resource> + <real> 3 </real> + <array len="0" shared="false"> + </array> + <string> "" </string> + <vector2> -1.08072, -2.16144 </vector2> + <vector2> 6.48431, 3.24216 </vector2> + <vector2> -12.495, 3.53415 </vector2> + <resource resource_type="Texture" path="res://enemy.*"> </resource> + <int> 8 </int> + <color> 1, 1, 1, 1 </color> + <rect2> 0, 0, 0, 0 </rect2> + <vector2> -33.2868, -9.34363 </vector2> + <vector2> 0, 45 </vector2> + <vector2> 29.1987, -9.34363 </vector2> + <real> 0.121212 </real> + <int> 32 </int> + <real> 0.5 </real> + <real> 0.1 </real> + <resource resource_type="Texture" path="res://bullet.*"> </resource> + <real> 180 </real> + <real> 90 </real> + <real> 2 </real> + <real> 9.8 </real> + <color> 1, 0.884956, 0.823009, 1 </color> + <color> 0.768627, 0.389381, 0, 0 </color> + <color> 0, 0, 0, 1 </color> + <vector2_array len="0"> </vector2_array> + <real> 2048 </real> + <resource resource_type="SampleLibrary" path="local://5"> </resource> + </array> + <string> "nodes" </string> + <int_array len="445"> -1, -1, 1, 0, -1, 31, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 8, 13, 6, 14, 9, 15, 8, 16, 6, 17, 10, 18, 8, 19, 11, 20, 1, 21, 3, 22, 3, 23, 8, 24, 8, 25, 12, 26, 8, 27, 0, 28, 0, 29, 2, 30, 3, 31, 13, 32, 14, 0, 0, 0, 34, 33, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 15, 7, 3, 8, 16, 35, 17, 36, 0, 37, 0, 0, 0, 0, 39, 38, -1, 10, 40, 18, 41, 3, 42, 19, 43, 20, 44, 21, 45, 22, 46, 0, 47, 23, 48, 24, 49, 25, 0, 0, 0, 50, 50, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 26, 7, 3, 8, 4, 51, 6, 52, 8, 0, 0, 0, 50, 53, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 27, 7, 3, 8, 4, 51, 6, 52, 8, 0, 0, 0, 50, 54, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 28, 7, 3, 8, 4, 51, 6, 52, 8, 0, 0, 0, 56, 55, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 57, 29, 58, 0, 59, 2, 60, 8, 61, 8, 62, 18, 63, 30, 64, 12, 65, 31, 66, 8, 67, 32, 0, 0, 0, 69, 68, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 33, 7, 3, 8, 4, 70, 0, 71, 34, 0, 0, 0, 69, 72, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 35, 7, 3, 8, 4, 70, 0, 71, 34, 0, 0, 0, 73, 73, -1, 55, 2, 0, 3, 1, 4, 36, 5, 0, 74, 18, 6, 2, 7, 3, 8, 4, 75, 37, 76, 38, 77, 1, 78, 3, 79, 38, 80, 8, 81, 2, 82, 2, 83, 0, 84, 39, 85, 40, 86, 3, 87, 41, 88, 42, 89, 43, 90, 3, 91, 3, 92, 44, 93, 3, 94, 3, 95, 3, 96, 43, 97, 23, 98, 3, 99, 3, 100, 3, 101, 3, 102, 1, 103, 3, 104, 3, 105, 3, 106, 3, 107, 3, 108, 3, 109, 3, 110, 3, 111, 3, 112, 11, 113, 3, 114, 45, 115, 1, 116, 46, 117, 1, 118, 47, 119, 1, 120, 47, 121, 48, 0, 0, 0, 123, 122, -1, 15, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 124, 3, 125, 1, 126, 1, 127, 49, 128, 1, 129, 5, 130, 50, 131, 3, 0 </int_array> + <string> "conns" </string> + <int_array len="0"> </int_array> + </dictionary> + + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/engine.cfg b/demos/2d/platformer/engine.cfg new file mode 100644 index 0000000000..0ca951ed00 --- /dev/null +++ b/demos/2d/platformer/engine.cfg @@ -0,0 +1,28 @@ +[application] + +name="Platformer" +main_scene="res://stage.xml" +icon="res://icon.png" +name_es="Plataformero" + +[display] + +width=800 +height=480 +stretch_2d=true + +[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 + +[render] + +mipmap_policy=1 diff --git a/demos/2d/platformer/icon.png b/demos/2d/platformer/icon.png Binary files differnew file mode 100644 index 0000000000..da2c08eb53 --- /dev/null +++ b/demos/2d/platformer/icon.png diff --git a/demos/2d/platformer/moving_platform.gd b/demos/2d/platformer/moving_platform.gd new file mode 100644 index 0000000000..719d9e460e --- /dev/null +++ b/demos/2d/platformer/moving_platform.gd @@ -0,0 +1,27 @@ + +extends Node2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +export var motion = Vector2() +export var cycle = 1.0 +var accum=0.0 + +func _fixed_process(delta): + + accum += delta * (1.0/cycle) * PI * 2.0 + accum = fmod(accum,PI*2.0) + var d = sin(accum) + var xf = Matrix32() + xf[2]= motion * d + get_node("platform").set_transform(xf) + + +func _ready(): + # Initalization here + set_fixed_process(true) + pass + + diff --git a/demos/2d/platformer/moving_platform.png b/demos/2d/platformer/moving_platform.png Binary files differnew file mode 100644 index 0000000000..f01c6ea37f --- /dev/null +++ b/demos/2d/platformer/moving_platform.png diff --git a/demos/2d/platformer/moving_platform.xml b/demos/2d/platformer/moving_platform.xml new file mode 100644 index 0000000000..8f4e4c7741 --- /dev/null +++ b/demos/2d/platformer/moving_platform.xml @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="4" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> + <ext_resource path="res://moving_platform.*" type="Texture"></ext_resource> + <ext_resource path="res://moving_platform.*" type="Script"></ext_resource> + <resource type="ConvexPolygonShape2D" path="local://1"> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> -88, 24, -88, -24, 88, -24, 88, 24 </vector2_array> + + </resource> + <main_resource> + <dictionary name="_bundled" shared="false"> + <string> "names" </string> + <string_array len="39"> + <string> "moving_platform" </string> + <string> "Node2D" </string> + <string> "visibility/visible" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "script/script" </string> + <string> "__meta__" </string> + <string> "motion" </string> + <string> "cycle" </string> + <string> "platform" </string> + <string> "StaticBody2D" </string> + <string> "shape_count" </string> + <string> "shapes/0/shape" </string> + <string> "shapes/0/transform" </string> + <string> "shapes/0/trigger" </string> + <string> "simulate_motion" </string> + <string> "constant_linear_velocity" </string> + <string> "constant_angular_velocity" </string> + <string> "friction" </string> + <string> "bounce" </string> + <string> "Sprite" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "offset" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "CollisionPolygon2D" </string> + <string> "build_mode" </string> + <string> "polygon" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 0 </int> + <string> "node_count" </string> + <int> 4 </int> + <string> "variants" </string> + <array len="16" shared="false"> + <bool> True </bool> + <real> 1 </real> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <resource resource_type="Script" path="res://moving_platform.*"> </resource> + <dictionary shared="false"> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="4" shared="false"> + <string> "res://moving_platform.gd" </string> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://coin.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary shared="false"> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 1.360373 </real> + <string> "ofs" </string> + <vector2> -210.652, -172.81 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 400 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + </array> + <string> "viewport_mode" </string> + <int> 1 </int> + <string> "default_light" </string> + <bool> True </bool> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + </dictionary> + <int> 1 </int> + <resource resource_type="Shape2D" path="local://1"> </resource> + <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> + <bool> False </bool> + <resource resource_type="Texture" path="res://moving_platform.*"> </resource> + <int> 0 </int> + <color> 1, 1, 1, 1 </color> + <rect2> 0, 0, 0, 0 </rect2> + <vector2_array len="4"> -88, -24, 88, -24, 88, 24, -88, 24 </vector2_array> + </array> + <string> "nodes" </string> + <int_array len="136"> -1, -1, 1, 0, -1, 11, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 2, 12, 1, 0, 0, 0, 14, 13, -1, 16, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 15, 7, 16, 8, 17, 9, 18, 10, 19, 0, 20, 2, 21, 3, 22, 1, 23, 3, 0, 1, 0, 24, 24, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 25, 11, 26, 0, 27, 2, 28, 10, 29, 10, 30, 7, 31, 7, 32, 12, 33, 13, 34, 10, 35, 14, 0, 1, 0, 36, 36, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 37, 12, 38, 15, 0 </int_array> + <string> "conns" </string> + <int_array len="0"> </int_array> + </dictionary> + + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/music.ogg b/demos/2d/platformer/music.ogg Binary files differnew file mode 100644 index 0000000000..ed3e9f0a01 --- /dev/null +++ b/demos/2d/platformer/music.ogg diff --git a/demos/2d/platformer/osb_fire.png b/demos/2d/platformer/osb_fire.png Binary files differnew file mode 100644 index 0000000000..6f914cfe49 --- /dev/null +++ b/demos/2d/platformer/osb_fire.png diff --git a/demos/2d/platformer/osb_jump.png b/demos/2d/platformer/osb_jump.png Binary files differnew file mode 100644 index 0000000000..72ba032daa --- /dev/null +++ b/demos/2d/platformer/osb_jump.png diff --git a/demos/2d/platformer/osb_left.png b/demos/2d/platformer/osb_left.png Binary files differnew file mode 100644 index 0000000000..b8e08c2ce7 --- /dev/null +++ b/demos/2d/platformer/osb_left.png diff --git a/demos/2d/platformer/osb_right.png b/demos/2d/platformer/osb_right.png Binary files differnew file mode 100644 index 0000000000..0e5cbb0d54 --- /dev/null +++ b/demos/2d/platformer/osb_right.png diff --git a/demos/2d/platformer/parallax_bg.xml b/demos/2d/platformer/parallax_bg.xml new file mode 100644 index 0000000000..cc8cfe5de0 --- /dev/null +++ b/demos/2d/platformer/parallax_bg.xml @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="7" version="0.99" version_name="Godot Engine v0.99.3046-pre-beta"> + <ext_resource path="res://scroll_bg_sky.png" type="Texture"></ext_resource> + <ext_resource path="res://scroll_bg_cloud_1.png" type="Texture"></ext_resource> + <ext_resource path="res://scroll_bg_cloud_3.png" type="Texture"></ext_resource> + <ext_resource path="res://scroll_bg_cloud_2.png" type="Texture"></ext_resource> + <ext_resource path="res://scroll_bg_fg_1.png" type="Texture"></ext_resource> + <ext_resource path="res://scroll_bg_fg_2.png" type="Texture"></ext_resource> + <main_resource> + <string name="resource/name"> "" </string> + <dictionary name="_bundled"> + <string> "names" </string> + <string_array len="51"> + <string> "parallax_bg" </string> + <string> "ParallaxBackground" </string> + <string> "process/process" </string> + <string> "process/fixed_process" </string> + <string> "process/input" </string> + <string> "process/unhandled_input" </string> + <string> "process/mode" </string> + <string> "layer" </string> + <string> "offset" </string> + <string> "rotation" </string> + <string> "scale" </string> + <string> "scroll/offset" </string> + <string> "scroll/base_offset" </string> + <string> "scroll/base_scale" </string> + <string> "scroll/limit_begin" </string> + <string> "scroll/limit_end" </string> + <string> "script/script" </string> + <string> "__meta__" </string> + <string> "sky" </string> + <string> "ParallaxLayer" </string> + <string> "visibility/visible" </string> + <string> "visibility/toplevel" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "visibility/blend_mode" </string> + <string> "transform/notify" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "motion/scale" </string> + <string> "motion/mirroring" </string> + <string> "Sprite" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "clouds" </string> + <string> "Sprite 2" </string> + <string> "Sprite 3" </string> + <string> "Sprite 4" </string> + <string> "Sprite 5" </string> + <string> "Sprite 6" </string> + <string> "mount_ 2" </string> + <string> "mount_1" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 0 </int> + <string> "node_count" </string> + <int> 14 </int> + <string> "variants" </string> + <array len="33"> + <bool> False </bool> + <int> 0 </int> + <int> -1 </int> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <vector2> 0.7, 0 </vector2> + <resource name=""></resource> <dictionary> + <string> "__editor_plugin_states__" </string> + <dictionary> + <string> "Script" </string> + <dictionary> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="4"> + <string> "res://moving_platform.gd" </string> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://coin.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary> + <string> "zoom" </string> + <real> 1 </real> + <string> "ofs" </string> + <vector2> -5, -25 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 45 </real> + <string> "window_mode" </string> + <int> 0 </int> + <string> "window_0" </string> + <dictionary> + <string> "distance" </string> + <real> 4 </real> + <string> "default_light" </string> + <bool> True </bool> + <string> "x_rot" </string> + <real> 0.337 </real> + <string> "y_rot" </string> + <real> -0.575 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + </dictionary> + <bool> True </bool> + <real> 1 </real> + <vector2> 800, 0 </vector2> + <vector2> 32, 0.94 </vector2> + <resource resource_type="Texture" path="res://scroll_bg_sky.png"> </resource> + <int> 1 </int> + <color> 1, 1, 1, 1 </color> + <rect2> 0, 0, 0, 0 </rect2> + <vector2> 0.1, 1 </vector2> + <vector2> 28, 127 </vector2> + <resource resource_type="Texture" path="res://scroll_bg_cloud_1.png"> </resource> + <vector2> 404, 24 </vector2> + <vector2> 154, 46 </vector2> + <resource resource_type="Texture" path="res://scroll_bg_cloud_2.png"> </resource> + <vector2> 525, 130 </vector2> + <vector2> 255, 158 </vector2> + <resource resource_type="Texture" path="res://scroll_bg_cloud_3.png"> </resource> + <vector2> 674, 70 </vector2> + <vector2> 0.2, 1 </vector2> + <vector2> 0, 225 </vector2> + <resource resource_type="Texture" path="res://scroll_bg_fg_2.png"> </resource> + <rect2> 0, 0, 800, 256 </rect2> + <vector2> 0.4, 1 </vector2> + <resource resource_type="Texture" path="res://scroll_bg_fg_1.png"> </resource> + </array> + <string> "nodes" </string> + <int_array len="760"> -1, -1, 1, 0, -1, 16, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 3, 9, 4, 10, 5, 11, 3, 12, 3, 13, 6, 14, 3, 15, 3, 16, 7, 17, 8, 0, 0, 0, 19, 18, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 5, 30, 5, 31, 11, 16, 7, 0, 1, 0, 32, 32, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 12, 33, 13, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 0, 0, 19, 43, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 5, 30, 17, 31, 11, 16, 7, 0, 3, 0, 32, 32, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 18, 28, 4, 29, 5, 33, 19, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 44, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 20, 28, 4, 29, 5, 33, 19, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 45, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 21, 28, 4, 29, 5, 33, 22, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 46, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 23, 28, 4, 29, 5, 33, 22, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 47, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 24, 28, 4, 29, 5, 33, 25, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 48, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 26, 28, 4, 29, 5, 33, 25, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 0, 0, 19, 49, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 5, 30, 27, 31, 11, 16, 7, 0, 10, 0, 32, 32, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 28, 28, 4, 29, 5, 33, 29, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 9, 42, 30, 16, 7, 0, 0, 0, 19, 50, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 5, 30, 31, 31, 11, 16, 7, 0, 12, 0, 32, 32, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 28, 28, 4, 29, 5, 33, 32, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 9, 42, 30, 16, 7, 0 </int_array> + <string> "conns" </string> + <int_array len="0"> </int_array> + </dictionary> + <resource name="script/script"></resource> + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/plank.png b/demos/2d/platformer/plank.png Binary files differnew file mode 100644 index 0000000000..b4f6addee5 --- /dev/null +++ b/demos/2d/platformer/plank.png diff --git a/demos/2d/platformer/plankpin.png b/demos/2d/platformer/plankpin.png Binary files differnew file mode 100644 index 0000000000..46e104a3fe --- /dev/null +++ b/demos/2d/platformer/plankpin.png diff --git a/demos/2d/platformer/player.gd b/demos/2d/platformer/player.gd new file mode 100644 index 0000000000..481f340ab8 --- /dev/null +++ b/demos/2d/platformer/player.gd @@ -0,0 +1,259 @@ +extends RigidBody2D + +# Character Demo, written by Juan Linietsky. +# +# Implementation of a 2D Character controller. +# This implementation uses the physics engine for +# controlling a character, in a very similar way +# than a 3D character controller would be implemented. +# +# Using the physics engine for this has the main +# advantages: +# -Easy to write. +# -Interaction with other physics-based objects is free +# -Only have to deal with the object linear velocity, not position +# -All collision/area framework available +# +# But also has the following disadvantages: +# +# -Objects may bounce a little bit sometimes +# -Going up ramps sends the chracter flying up, small hack is needed. +# -A ray collider is needed to avoid sliding down on ramps and +# undesiderd bumps, small steps and rare numerical precision errors. +# (another alternative may be to turn on friction when the character is not moving). +# -Friction cant be used, so floor velocity must be considered +# for moving platforms. + +var anim="" +var siding_left=false +var jumping=false +var stopping_jump=false +var shooting=false + +var WALK_ACCEL = 800.0 +var WALK_DEACCEL= 800.0 +var WALK_MAX_VELOCITY= 200.0 +var GRAVITY = 700.0 +var AIR_ACCEL = 200.0 +var AIR_DEACCEL= 200.0 +var JUMP_VELOCITY=460 +var STOP_JUMP_FORCE=900.0 + +var MAX_FLOOR_AIRBORNE_TIME = 0.15 + +var airborne_time=1e20 +var shoot_time=1e20 + +var MAX_SHOOT_POSE_TIME = 0.3 + +var bullet = preload("res://bullet.xml") + +var floor_h_velocity=0.0 +var enemy + +func _integrate_forces(s): + + var lv = s.get_linear_velocity() + var step = s.get_step() + + var new_anim=anim + var new_siding_left=siding_left + + # Get the controls + var move_left = Input.is_action_pressed("move_left") + var move_right = Input.is_action_pressed("move_right") + var jump = Input.is_action_pressed("jump") + var shoot = Input.is_action_pressed("shoot") + var spawn = Input.is_action_pressed("spawn") + + if spawn: + var e = enemy.instance() + var p = get_pos() + p.y = p.y - 100 + e.set_pos(p) + get_parent().add_child(e) + + + #deapply prev floor velocity + lv.x-=floor_h_velocity + floor_h_velocity=0.0 + + + # Find the floor (a contact with upwards facing collision normal) + var found_floor=false + var floor_index=-1 + + for x in range(s.get_contact_count()): + + var ci = s.get_contact_local_normal(x) + if (ci.dot(Vector2(0,-1))>0.6): + found_floor=true + floor_index=x + + # A good idea when impementing characters of all kinds, + # Compensates for physics imprecission, as well as human + # reaction delay. + + if (shoot and not shooting): + shoot_time=0 + var bi = bullet.instance() + var ss + if (siding_left): + ss=-1.0 + else: + ss=1.0 + var pos = get_pos() + get_node("bullet_shoot").get_pos()*Vector2(ss,1.0) + + bi.set_pos(pos) + get_parent().add_child(bi) + + bi.set_linear_velocity( Vector2(800.0*ss,-80) ) + get_node("sprite/smoke").set_emitting(true) + get_node("sound").play("shoot") + PS2D.body_add_collision_exception(bi.get_rid(),get_rid()) # make bullet and this not collide + + + else: + shoot_time+=step + + + if (found_floor): + airborne_time=0.0 + else: + airborne_time+=step #time it spent in the air + + var on_floor = airborne_time < MAX_FLOOR_AIRBORNE_TIME + + # Process jump + if (jumping): + if (lv.y>0): + #set off the jumping flag if going down + jumping=false + elif (not jump): + stopping_jump=true + + if (stopping_jump): + lv.y+=STOP_JUMP_FORCE*step + + if (on_floor): + + # Process logic when character is on floor + + if (move_left and not move_right): + if (lv.x > -WALK_MAX_VELOCITY): + lv.x-=WALK_ACCEL*step + elif (move_right and not move_left): + if (lv.x < WALK_MAX_VELOCITY): + lv.x+=WALK_ACCEL*step + else: + var xv = abs(lv.x) + xv-=WALK_DEACCEL*step + if (xv<0): + xv=0 + lv.x=sign(lv.x)*xv + + #Check jump + if (not jumping and jump): + lv.y=-JUMP_VELOCITY + jumping=true + stopping_jump=false + get_node("sound").play("jump") + + #check siding + + if (lv.x < 0 and move_left): + new_siding_left=true + elif (lv.x > 0 and move_right): + new_siding_left=false + if (jumping): + new_anim="jumping" + elif (abs(lv.x)<0.1): + if (shoot_time<MAX_SHOOT_POSE_TIME): + new_anim="idle_weapon" + else: + new_anim="idle" + else: + if (shoot_time<MAX_SHOOT_POSE_TIME): + new_anim="run_weapon" + else: + new_anim="run" + else: + + # Process logic when the character is in the air + + if (move_left and not move_right): + if (lv.x > -WALK_MAX_VELOCITY): + lv.x-=AIR_ACCEL*step + elif (move_right and not move_left): + if (lv.x < WALK_MAX_VELOCITY): + lv.x+=AIR_ACCEL*step + else: + var xv = abs(lv.x) + xv-=AIR_DEACCEL*step + if (xv<0): + xv=0 + lv.x=sign(lv.x)*xv + + if (lv.y<0): + if (shoot_time<MAX_SHOOT_POSE_TIME): + new_anim="jumping_weapon" + else: + new_anim="jumping" + else: + if (shoot_time<MAX_SHOOT_POSE_TIME): + new_anim="falling_weapon" + else: + new_anim="falling" + + + #Update siding + + if (new_siding_left!=siding_left): + if (new_siding_left): + get_node("sprite").set_scale( Vector2(-1,1) ) + else: + get_node("sprite").set_scale( Vector2(1,1) ) + + siding_left=new_siding_left + + #Change animation + if (new_anim!=anim): + anim=new_anim + get_node("anim").play(anim) + + shooting=shoot + + # Apply floor velocity + if (found_floor): + floor_h_velocity=s.get_contact_collider_velocity_at_pos(floor_index).x + lv.x+=floor_h_velocity + + + + + #Finally, apply gravity and set back the linear velocity + lv+=s.get_total_gravity()*step + s.set_linear_velocity(lv) + + + + + + + +func _ready(): + # Initalization here + +# if !Globals.has_singleton("Facebook"): +# return +# var Facebook = Globals.get_singleton("Facebook") +# var link = Globals.get("facebook/link") +# var icon = Globals.get("facebook/icon") +# var msg = "I just sneezed on your wall! Beat my score and Stop the Running nose!" +# var title = "I just sneezed on your wall!" +# Facebook.post("feed", msg, title, link, icon) + enemy = ResourceLoader.load("res://enemy.xml") + pass + + + diff --git a/demos/2d/platformer/player.xml b/demos/2d/platformer/player.xml new file mode 100644 index 0000000000..94086a8b19 --- /dev/null +++ b/demos/2d/platformer/player.xml @@ -0,0 +1,660 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="24" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> + <ext_resource path="res://robot_demo.*" type="Texture"></ext_resource> + <ext_resource path="res://player.*" type="Script"></ext_resource> + <ext_resource path="res://sound_shoot.*" type="Sample"></ext_resource> + <ext_resource path="res://sound_coin.*" type="Sample"></ext_resource> + <ext_resource path="res://osb_right.*" type="Texture"></ext_resource> + <ext_resource path="res://sound_jump.*" type="Sample"></ext_resource> + <ext_resource path="res://osb_left.*" type="Texture"></ext_resource> + <ext_resource path="res://bullet.*" type="Texture"></ext_resource> + <ext_resource path="res://osb_jump.*" type="Texture"></ext_resource> + <ext_resource path="res://osb_fire.*" type="Texture"></ext_resource> + <resource type="RayShape2D" path="local://1"> + <real name="custom_solver_bias"> 0.5 </real> + <real name="length"> 20 </real> + + </resource> + <resource type="ConvexPolygonShape2D" path="local://2"> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="3"> -19.902, -24.8691, 19.3625, -24.6056, -0.138023, 16.5036 </vector2_array> + + </resource> + <resource type="Animation" path="local://3"> + <string name="resource/name"> "idle" </string> + <real name="length"> 7 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="8"> 1, 1, 1, 1, 1, 1, 1, 1 </real_array> + <string> "values" </string> + <array len="8" shared="false"> + <int> 16 </int> + <int> 17 </int> + <int> 18 </int> + <int> 16 </int> + <int> 19 </int> + <int> 20 </int> + <int> 19 </int> + <int> 16 </int> + </array> + <string> "times" </string> + <real_array len="8"> 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://4"> + <string name="resource/name"> "jumping" </string> + <real name="length"> 0.5 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="3"> 1, 1, 1 </real_array> + <string> "values" </string> + <array len="3" shared="false"> + <int> 23 </int> + <int> 24 </int> + <int> 23 </int> + </array> + <string> "times" </string> + <real_array len="3"> 0, 0.25, 0.5 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://5"> + <string name="resource/name"> "run" </string> + <real name="length"> 1.25 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> + <string> "values" </string> + <array len="6" shared="false"> + <int> 0 </int> + <int> 1 </int> + <int> 2 </int> + <int> 3 </int> + <int> 4 </int> + <int> 0 </int> + </array> + <string> "times" </string> + <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://6"> + <string name="resource/name"> "falling_weapon" </string> + <real name="length"> 0.5 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <int> 26 </int> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://7"> + <string name="resource/name"> "falling" </string> + <real name="length"> 0.01 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <int> 21 </int> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://8"> + <string name="resource/name"> "run_weapon" </string> + <real name="length"> 1.25 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> + <string> "values" </string> + <array len="6" shared="false"> + <int> 5 </int> + <int> 6 </int> + <int> 7 </int> + <int> 8 </int> + <int> 9 </int> + <int> 5 </int> + </array> + <string> "times" </string> + <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://9"> + <string name="resource/name"> "run_gun_fire" </string> + <real name="length"> 1.25 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="6"> 1, 1, 1, 1, 1, 1 </real_array> + <string> "values" </string> + <array len="6" shared="false"> + <int> 10 </int> + <int> 11 </int> + <int> 12 </int> + <int> 13 </int> + <int> 14 </int> + <int> 5 </int> + </array> + <string> "times" </string> + <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://10"> + <string name="resource/name"> "jumping_weapon" </string> + <real name="length"> 0.5 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <int> 26 </int> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://11"> + <string name="resource/name"> "crouch" </string> + <real name="length"> 0.01 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <int> 22 </int> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + + </resource> + <resource type="Animation" path="local://12"> + <string name="resource/name"> "idle_weapon" </string> + <real name="length"> 0.5 </real> + <bool name="loop"> True </bool> + <real name="step"> 0.25 </real> + <string name="tracks/0/type"> "value" </string> + <node_path name="tracks/0/path"> "sprite:frame" </node_path> + <int name="tracks/0/interp"> 1 </int> + <dictionary name="tracks/0/keys" shared="false"> + <string> "cont" </string> + <bool> False </bool> + <string> "transitions" </string> + <real_array len="1"> 1 </real_array> + <string> "values" </string> + <array len="1" shared="false"> + <int> 25 </int> + </array> + <string> "times" </string> + <real_array len="1"> 0 </real_array> + </dictionary> + + </resource> + <resource type="SampleLibrary" path="local://13"> + <dictionary name="samples/jump" shared="false"> + <string> "db" </string> + <real> 0 </real> + <string> "pitch" </string> + <real> 1 </real> + <string> "sample" </string> + <resource resource_type="Sample" path="res://sound_jump.*"> </resource> + </dictionary> + <dictionary name="samples/shoot" shared="false"> + <string> "db" </string> + <real> 0 </real> + <string> "pitch" </string> + <real> 1 </real> + <string> "sample" </string> + <resource resource_type="Sample" path="res://sound_shoot.*"> </resource> + </dictionary> + <dictionary name="samples/coin" shared="false"> + <string> "db" </string> + <real> 0 </real> + <string> "pitch" </string> + <real> 1 </real> + <string> "sample" </string> + <resource resource_type="Sample" path="res://sound_coin.*"> </resource> + </dictionary> + + </resource> + <main_resource> + <dictionary name="_bundled" shared="false"> + <string> "names" </string> + <string_array len="167"> + <string> "player" </string> + <string> "RigidBody2D" </string> + <string> "visibility/visible" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "shape_count" </string> + <string> "shapes/0/shape" </string> + <string> "shapes/0/transform" </string> + <string> "shapes/0/trigger" </string> + <string> "shapes/1/shape" </string> + <string> "shapes/1/transform" </string> + <string> "shapes/1/trigger" </string> + <string> "mode" </string> + <string> "mass" </string> + <string> "friction" </string> + <string> "bounce" </string> + <string> "custom_integrator" </string> + <string> "continuous_cd" </string> + <string> "contacts_reported" </string> + <string> "contact_monitor" </string> + <string> "active" </string> + <string> "can_sleep" </string> + <string> "velocity/linear" </string> + <string> "velocity/angular" </string> + <string> "script/script" </string> + <string> "__meta__" </string> + <string> "sprite" </string> + <string> "Sprite" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "offset" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "smoke" </string> + <string> "Particles2D" </string> + <string> "visibility/blend_mode" </string> + <string> "config/amount" </string> + <string> "config/lifetime" </string> + <string> "config/time_scale" </string> + <string> "config/preprocess" </string> + <string> "config/emit_timeout" </string> + <string> "config/emitting" </string> + <string> "config/offset" </string> + <string> "config/half_extents" </string> + <string> "config/local_space" </string> + <string> "config/explosiveness" </string> + <string> "config/texture" </string> + <string> "params/direction" </string> + <string> "params/spread" </string> + <string> "params/linear_velocity" </string> + <string> "params/spin_velocity" </string> + <string> "params/orbit_velocity" </string> + <string> "params/gravity_direction" </string> + <string> "params/gravity_strength" </string> + <string> "params/radial_accel" </string> + <string> "params/tangential_accel" </string> + <string> "params/damping" </string> + <string> "params/initial_size" </string> + <string> "params/final_size" </string> + <string> "params/hue_variation" </string> + <string> "randomness/direction" </string> + <string> "randomness/spread" </string> + <string> "randomness/linear_velocity" </string> + <string> "randomness/spin_velocity" </string> + <string> "randomness/orbit_velocity" </string> + <string> "randomness/gravity_direction" </string> + <string> "randomness/gravity_strength" </string> + <string> "randomness/radial_accel" </string> + <string> "randomness/tangential_accel" </string> + <string> "randomness/damping" </string> + <string> "randomness/initial_size" </string> + <string> "randomness/final_size" </string> + <string> "randomness/hue_variation" </string> + <string> "color_phases/count" </string> + <string> "phase_0/pos" </string> + <string> "phase_0/color" </string> + <string> "phase_1/pos" </string> + <string> "phase_1/color" </string> + <string> "phase_2/pos" </string> + <string> "phase_2/color" </string> + <string> "phase_3/pos" </string> + <string> "phase_3/color" </string> + <string> "emission_points" </string> + <string> "anim" </string> + <string> "AnimationPlayer" </string> + <string> "playback/process_mode" </string> + <string> "playback/default_blend_time" </string> + <string> "root/root" </string> + <string> "anims/idle" </string> + <string> "anims/jumping" </string> + <string> "anims/run" </string> + <string> "anims/falling_weapon" </string> + <string> "anims/falling" </string> + <string> "anims/run_weapon" </string> + <string> "anims/standing_weapon_ready" </string> + <string> "anims/jumping_weapon" </string> + <string> "anims/crouch" </string> + <string> "anims/idle_weapon" </string> + <string> "playback/active" </string> + <string> "playback/speed" </string> + <string> "blend_times" </string> + <string> "autoplay" </string> + <string> "camera" </string> + <string> "Camera2D" </string> + <string> "current" </string> + <string> "smoothing" </string> + <string> "zoom" </string> + <string> "limit/left" </string> + <string> "limit/top" </string> + <string> "limit/right" </string> + <string> "limit/bottom" </string> + <string> "drag_margin/h_enabled" </string> + <string> "drag_margin/v_enabled" </string> + <string> "drag_margin/left" </string> + <string> "drag_margin/top" </string> + <string> "drag_margin/right" </string> + <string> "drag_margin/bottom" </string> + <string> "bullet_shoot" </string> + <string> "Position2D" </string> + <string> "CollisionShape2D" </string> + <string> "shape" </string> + <string> "trigger" </string> + <string> "sound" </string> + <string> "SamplePlayer" </string> + <string> "config/voices" </string> + <string> "config/samples" </string> + <string> "default/volume_db" </string> + <string> "default/pitch_scale" </string> + <string> "default/pan" </string> + <string> "default/depth" </string> + <string> "default/height" </string> + <string> "default/filter/type" </string> + <string> "default/filter/cutoff" </string> + <string> "default/filter/resonance" </string> + <string> "default/filter/gain" </string> + <string> "default/reverb_room" </string> + <string> "default/reverb_send" </string> + <string> "default/chorus_send" </string> + <string> "CollisionPolygon2D" </string> + <string> "build_mode" </string> + <string> "polygon" </string> + <string> "ui" </string> + <string> "CanvasLayer" </string> + <string> "layer" </string> + <string> "rotation" </string> + <string> "scale" </string> + <string> "left" </string> + <string> "TouchScreenButton" </string> + <string> "normal" </string> + <string> "pressed" </string> + <string> "bitmask" </string> + <string> "passby_press" </string> + <string> "action" </string> + <string> "visibility_mode" </string> + <string> "right" </string> + <string> "jump" </string> + <string> "fire" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 0 </int> + <string> "node_count" </string> + <int> 14 </int> + <string> "variants" </string> + <array len="71" shared="false"> + <bool> True </bool> + <real> 1 </real> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <int> 2 </int> + <resource resource_type="Shape2D" path="local://1"> </resource> + <matrix32> 1, -0, 0, 1.76469, 0.291992, -12.1587 </matrix32> + <bool> False </bool> + <resource resource_type="Shape2D" path="local://2"> </resource> + <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> + <real> 3 </real> + <int> 3 </int> + <resource resource_type="Script" path="res://player.*"> </resource> + <dictionary shared="false"> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 0 </int> + <string> "sources" </string> + <array len="1" shared="false"> + <string> "res://player.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary shared="false"> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 2.272073 </real> + <string> "ofs" </string> + <vector2> -125.17, -137.776 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 45 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + </array> + <string> "viewport_mode" </string> + <int> 1 </int> + <string> "default_light" </string> + <bool> True </bool> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + </dictionary> + <resource resource_type="Texture" path="res://robot_demo.*"> </resource> + <int> 16 </int> + <int> 1 </int> + <color> 1, 1, 1, 1 </color> + <rect2> 0, 0, 0, 0 </rect2> + <real> 0.363636 </real> + <vector2> 20.7312, 3.21187 </vector2> + <real> 83.450417 </real> + <int> 4 </int> + <real> 0.3 </real> + <real> 0.1 </real> + <resource resource_type="Texture" path="res://bullet.*"> </resource> + <real> 180 </real> + <real> 20 </real> + <real> 9.8 </real> + <real> 2 </real> + <color> 0, 0, 0, 0.0442478 </color> + <color> 1, 0, 0, 1 </color> + <color> 0, 0, 0, 1 </color> + <vector2_array len="0"> </vector2_array> + <node_path> ".." </node_path> + <resource resource_type="Animation" path="local://3"> </resource> + <resource resource_type="Animation" path="local://4"> </resource> + <resource resource_type="Animation" path="local://5"> </resource> + <resource resource_type="Animation" path="local://6"> </resource> + <resource resource_type="Animation" path="local://7"> </resource> + <resource resource_type="Animation" path="local://8"> </resource> + <resource resource_type="Animation" path="local://9"> </resource> + <resource resource_type="Animation" path="local://10"> </resource> + <resource resource_type="Animation" path="local://11"> </resource> + <resource resource_type="Animation" path="local://12"> </resource> + <array len="0" shared="false"> + </array> + <string> "" </string> + <int> 0 </int> + <int> 10000000 </int> + <real> 0.2 </real> + <vector2> 31.2428, 4.08784 </vector2> + <vector2> 0.291992, -12.1587 </vector2> + <vector2> 1, 1.76469 </vector2> + <resource resource_type="SampleLibrary" path="local://13"> </resource> + <nil> </nil> + <vector2_array len="3"> -0.138023, 16.5036, -19.902, -24.8691, 19.3625, -24.6056 </vector2_array> + <vector2> 27.7593, 360.87 </vector2> + <vector2> 1.49157, 1.46265 </vector2> + <resource resource_type="Texture" path="res://osb_left.*"> </resource> + <resource name=""></resource> <string> "move_left" </string> + <vector2> 121.542, 361.415 </vector2> + <resource resource_type="Texture" path="res://osb_right.*"> </resource> + <string> "move_right" </string> + <vector2> 666.224, 359.02 </vector2> + <resource resource_type="Texture" path="res://osb_jump.*"> </resource> + <string> "jump" </string> + <vector2> 668.073, 262.788 </vector2> + <resource resource_type="Texture" path="res://osb_fire.*"> </resource> + <string> "shoot" </string> + </array> + <string> "nodes" </string> + <int_array len="566"> -1, -1, 1, 0, -1, 28, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 8, 13, 9, 14, 10, 15, 8, 16, 5, 17, 11, 18, 3, 19, 3, 20, 0, 21, 8, 22, 12, 23, 8, 24, 0, 25, 0, 26, 2, 27, 3, 28, 13, 29, 14, 0, 0, 0, 31, 30, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 32, 15, 33, 0, 34, 2, 35, 8, 36, 8, 37, 5, 38, 16, 39, 17, 40, 18, 41, 8, 42, 19, 0, 1, 0, 44, 43, -1, 55, 2, 0, 3, 1, 4, 20, 5, 0, 45, 17, 6, 21, 7, 22, 8, 4, 46, 23, 47, 24, 48, 1, 49, 3, 50, 24, 51, 8, 52, 2, 53, 2, 54, 8, 55, 25, 56, 26, 57, 3, 58, 27, 59, 28, 60, 1, 61, 3, 62, 3, 63, 29, 64, 3, 65, 3, 66, 3, 67, 30, 68, 30, 69, 3, 70, 3, 71, 3, 72, 3, 73, 30, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 5, 84, 3, 85, 18, 86, 1, 87, 31, 88, 1, 89, 32, 90, 1, 91, 33, 92, 34, 0, 0, 0, 94, 93, -1, 17, 95, 17, 96, 3, 97, 35, 98, 36, 99, 37, 100, 38, 101, 39, 102, 40, 103, 41, 104, 42, 105, 43, 106, 44, 107, 45, 108, 0, 109, 30, 110, 46, 111, 47, 0, 0, 0, 113, 112, -1, 21, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 33, 0, 114, 0, 115, 3, 116, 4, 117, 48, 118, 48, 119, 49, 120, 49, 121, 0, 122, 0, 123, 50, 124, 50, 125, 50, 126, 50, 0, 0, 0, 128, 127, -1, 7, 2, 0, 3, 1, 4, 1, 5, 0, 6, 51, 7, 3, 8, 4, 0, 0, 0, 129, 129, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 52, 7, 3, 8, 53, 130, 6, 131, 8, 0, 0, 0, 133, 132, -1, 14, 134, 12, 135, 54, 136, 3, 137, 1, 138, 3, 139, 3, 140, 3, 141, 55, 142, 55, 143, 55, 144, 55, 145, 5, 146, 3, 147, 3, 0, 0, 0, 148, 148, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 149, 48, 150, 56, 0, 0, 0, 152, 151, -1, 4, 153, 48, 34, 2, 154, 3, 155, 4, 0, 9, 0, 157, 156, -1, 13, 2, 0, 3, 1, 4, 1, 5, 0, 6, 57, 7, 3, 8, 58, 158, 59, 159, 60, 160, 60, 161, 0, 162, 61, 163, 17, 0, 9, 0, 157, 164, -1, 13, 2, 0, 3, 1, 4, 1, 5, 0, 6, 62, 7, 3, 8, 58, 158, 63, 159, 60, 160, 60, 161, 0, 162, 64, 163, 17, 0, 9, 0, 157, 165, -1, 13, 2, 0, 3, 1, 4, 1, 5, 0, 6, 65, 7, 3, 8, 58, 158, 66, 159, 60, 160, 60, 161, 8, 162, 67, 163, 17, 0, 9, 0, 157, 166, -1, 13, 2, 0, 3, 1, 4, 1, 5, 0, 6, 68, 7, 3, 8, 58, 158, 69, 159, 60, 160, 60, 161, 8, 162, 70, 163, 17, 0 </int_array> + <string> "conns" </string> + <int_array len="0"> </int_array> + </dictionary> + + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/robot_demo.png b/demos/2d/platformer/robot_demo.png Binary files differnew file mode 100644 index 0000000000..bba8c63874 --- /dev/null +++ b/demos/2d/platformer/robot_demo.png diff --git a/demos/2d/platformer/scroll_bg_cloud_1.png b/demos/2d/platformer/scroll_bg_cloud_1.png Binary files differnew file mode 100644 index 0000000000..728d454b5c --- /dev/null +++ b/demos/2d/platformer/scroll_bg_cloud_1.png diff --git a/demos/2d/platformer/scroll_bg_cloud_2.png b/demos/2d/platformer/scroll_bg_cloud_2.png Binary files differnew file mode 100644 index 0000000000..66e0cf2fb5 --- /dev/null +++ b/demos/2d/platformer/scroll_bg_cloud_2.png diff --git a/demos/2d/platformer/scroll_bg_cloud_3.png b/demos/2d/platformer/scroll_bg_cloud_3.png Binary files differnew file mode 100644 index 0000000000..3586bb4072 --- /dev/null +++ b/demos/2d/platformer/scroll_bg_cloud_3.png diff --git a/demos/2d/platformer/scroll_bg_fg_1.png b/demos/2d/platformer/scroll_bg_fg_1.png Binary files differnew file mode 100644 index 0000000000..e64c446f65 --- /dev/null +++ b/demos/2d/platformer/scroll_bg_fg_1.png diff --git a/demos/2d/platformer/scroll_bg_fg_2.png b/demos/2d/platformer/scroll_bg_fg_2.png Binary files differnew file mode 100644 index 0000000000..ef9601183b --- /dev/null +++ b/demos/2d/platformer/scroll_bg_fg_2.png diff --git a/demos/2d/platformer/scroll_bg_sky.png b/demos/2d/platformer/scroll_bg_sky.png Binary files differnew file mode 100644 index 0000000000..04c196510f --- /dev/null +++ b/demos/2d/platformer/scroll_bg_sky.png diff --git a/demos/2d/platformer/seesaw.xml b/demos/2d/platformer/seesaw.xml new file mode 100644 index 0000000000..ed879a9319 --- /dev/null +++ b/demos/2d/platformer/seesaw.xml @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="4" version="1.0" version_name="Godot Engine v1.0.3917-beta1"> + <ext_resource path="res://plank.*" type="Texture"></ext_resource> + <ext_resource path="res://plankpin.*" type="Texture"></ext_resource> + <resource type="RectangleShape2D" path="local://1"> + <real name="custom_solver_bias"> 0 </real> + <vector2 name="extents"> 128, 8 </vector2> + + </resource> + <main_resource> + <dictionary name="_bundled" shared="false"> + <string> "names" </string> + <string_array len="49"> + <string> "seesaw" </string> + <string> "Node2D" </string> + <string> "visibility/visible" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "__meta__" </string> + <string> "plank" </string> + <string> "RigidBody2D" </string> + <string> "shape_count" </string> + <string> "shapes/0/shape" </string> + <string> "shapes/0/transform" </string> + <string> "shapes/0/trigger" </string> + <string> "mode" </string> + <string> "mass" </string> + <string> "friction" </string> + <string> "bounce" </string> + <string> "custom_integrator" </string> + <string> "continuous_cd" </string> + <string> "contacts_reported" </string> + <string> "contact_monitor" </string> + <string> "active" </string> + <string> "can_sleep" </string> + <string> "velocity/linear" </string> + <string> "velocity/angular" </string> + <string> "sprite" </string> + <string> "Sprite" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "offset" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "CollisionShape2D" </string> + <string> "shape" </string> + <string> "trigger" </string> + <string> "pin" </string> + <string> "PinJoint2D" </string> + <string> "node_a" </string> + <string> "node_b" </string> + <string> "bias/bias" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 0 </int> + <string> "node_count" </string> + <int> 6 </int> + <string> "variants" </string> + <array len="19" shared="false"> + <bool> True </bool> + <real> 1 </real> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <dictionary shared="false"> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "2D" </string> + <dictionary shared="false"> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 2.050547 </real> + <string> "ofs" </string> + <vector2> -116.979, -109.897 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 400 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + </array> + <string> "viewport_mode" </string> + <int> 1 </int> + <string> "default_light" </string> + <bool> True </bool> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + </dictionary> + <int> 1 </int> + <resource resource_type="Shape2D" path="local://1"> </resource> + <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> + <bool> False </bool> + <int> 0 </int> + <real> 5.102041 </real> + <resource resource_type="Texture" path="res://plank.*"> </resource> + <color> 1, 1, 1, 1 </color> + <rect2> 0, 0, 0, 0 </rect2> + <node_path> "../plank" </node_path> + <node_path> "" </node_path> + <vector2> -0.290825, 20.2425 </vector2> + <resource resource_type="Texture" path="res://plankpin.*"> </resource> + </array> + <string> "nodes" </string> + <int_array len="214"> -1, -1, 1, 0, -1, 8, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 0, 0, 0, 11, 10, -1, 23, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 12, 6, 13, 7, 14, 8, 15, 9, 16, 10, 17, 11, 18, 1, 19, 3, 20, 9, 21, 9, 22, 10, 23, 9, 24, 0, 25, 0, 26, 2, 27, 3, 0, 1, 0, 29, 28, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 30, 12, 31, 0, 32, 2, 33, 9, 34, 9, 35, 6, 36, 6, 37, 10, 38, 13, 39, 9, 40, 14, 0, 1, 0, 41, 41, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 42, 7, 43, 9, 0, 0, 0, 45, 44, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 46, 15, 47, 16, 48, 3, 0, 0, 0, 29, 29, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 17, 7, 3, 8, 4, 30, 18, 31, 0, 32, 2, 33, 9, 34, 9, 35, 6, 36, 6, 37, 10, 38, 13, 39, 9, 40, 14, 0 </int_array> + <string> "conns" </string> + <int_array len="0"> </int_array> + </dictionary> + + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/sound_coin.wav b/demos/2d/platformer/sound_coin.wav Binary files differnew file mode 100644 index 0000000000..e78579f461 --- /dev/null +++ b/demos/2d/platformer/sound_coin.wav diff --git a/demos/2d/platformer/sound_explode.wav b/demos/2d/platformer/sound_explode.wav Binary files differnew file mode 100644 index 0000000000..229c85399c --- /dev/null +++ b/demos/2d/platformer/sound_explode.wav diff --git a/demos/2d/platformer/sound_hit.wav b/demos/2d/platformer/sound_hit.wav Binary files differnew file mode 100644 index 0000000000..4fb3b13812 --- /dev/null +++ b/demos/2d/platformer/sound_hit.wav diff --git a/demos/2d/platformer/sound_jump.wav b/demos/2d/platformer/sound_jump.wav Binary files differnew file mode 100644 index 0000000000..e9942e65e6 --- /dev/null +++ b/demos/2d/platformer/sound_jump.wav diff --git a/demos/2d/platformer/sound_shoot.wav b/demos/2d/platformer/sound_shoot.wav Binary files differnew file mode 100644 index 0000000000..ad74f328cb --- /dev/null +++ b/demos/2d/platformer/sound_shoot.wav diff --git a/demos/2d/platformer/stage.xml b/demos/2d/platformer/stage.xml new file mode 100644 index 0000000000..b8a54537d8 --- /dev/null +++ b/demos/2d/platformer/stage.xml @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="9" version="0.99" version_name="Godot Engine v0.99.3735-pre-beta"> + <ext_resource path="res://music.*" type="AudioStreamOGGVorbis"></ext_resource> + <ext_resource path="res://tileset.*" type="TileSet"></ext_resource> + <ext_resource path="res://seesaw.*" type="PackedScene"></ext_resource> + <ext_resource path="res://player.*" type="PackedScene"></ext_resource> + <ext_resource path="res://coin.*" type="PackedScene"></ext_resource> + <ext_resource path="res://enemy.*" type="PackedScene"></ext_resource> + <ext_resource path="res://moving_platform.*" type="PackedScene"></ext_resource> + <ext_resource path="res://parallax_bg.*" type="PackedScene"></ext_resource> + <main_resource> + <dictionary name="_bundled" shared="false"> + <string> "names" </string> + <string_array len="92"> + <string> "stage" </string> + <string> "Node" </string> + <string> "__meta__" </string> + <string> "tile_map" </string> + <string> "TileMap" </string> + <string> "visibility/visible" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "cell_size" </string> + <string> "quadrant_size" </string> + <string> "tile_set" </string> + <string> "tile_data" </string> + <string> "coins" </string> + <string> "coin" </string> + <string> "Area2D" </string> + <string> "coin 2" </string> + <string> "coin 3" </string> + <string> "coin 4" </string> + <string> "coin 5" </string> + <string> "coin 6" </string> + <string> "coin 7" </string> + <string> "coin 8" </string> + <string> "coin 9" </string> + <string> "coin 10" </string> + <string> "coin 11" </string> + <string> "coin 12" </string> + <string> "coin 13" </string> + <string> "coin 14" </string> + <string> "coin 15" </string> + <string> "coin 16" </string> + <string> "coin 17" </string> + <string> "coin 18" </string> + <string> "coin 19" </string> + <string> "coin 20" </string> + <string> "coin 21" </string> + <string> "coin 22" </string> + <string> "coin 23" </string> + <string> "coin 24" </string> + <string> "coin 25" </string> + <string> "coin 26" </string> + <string> "coin 27" </string> + <string> "coin 28" </string> + <string> "coin 29" </string> + <string> "coin 30" </string> + <string> "coin 31" </string> + <string> "coin 31 2" </string> + <string> "coin 31 3" </string> + <string> "coin 31 4" </string> + <string> "coin 31 5" </string> + <string> "coin 31 6" </string> + <string> "coin 32" </string> + <string> "coin 31 7" </string> + <string> "coin 31 7 2" </string> + <string> "coin 31 7 3" </string> + <string> "coin 31 7 4" </string> + <string> "coin 31 7 5" </string> + <string> "player" </string> + <string> "RigidBody2D" </string> + <string> "props" </string> + <string> "moving_platform" </string> + <string> "Node2D" </string> + <string> "motion" </string> + <string> "cycle" </string> + <string> "moving_platform 2" </string> + <string> "moving_platform 3" </string> + <string> "seesaw" </string> + <string> "music" </string> + <string> "StreamPlayer" </string> + <string> "stream/stream" </string> + <string> "stream/play" </string> + <string> "stream/loop" </string> + <string> "stream/volume_db" </string> + <string> "stream/autoplay" </string> + <string> "stream/paused" </string> + <string> "enemies" </string> + <string> "enemy 5" </string> + <string> "enemy 6" </string> + <string> "enemy 7" </string> + <string> "enemy 8" </string> + <string> "enemy 9" </string> + <string> "enemy 10" </string> + <string> "enemy 11" </string> + <string> "enemy 12" </string> + <string> "enemy 13" </string> + <string> "enemy 14" </string> + <string> "enemy 15" </string> + <string> "parallax_bg" </string> + <string> "ParallaxBackground" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 0 </int> + <string> "node_count" </string> + <int> 65 </int> + <string> "variants" </string> + <array len="84" shared="false"> + <dictionary shared="false"> + <string> "__editor_plugin_states__" </string> + <dictionary shared="false"> + <string> "Script" </string> + <dictionary shared="false"> + <string> "current" </string> + <int> 2 </int> + <string> "sources" </string> + <array len="4" shared="false"> + <string> "res://moving_platform.gd" </string> + <string> "res://enemy.gd" </string> + <string> "res://player.gd" </string> + <string> "res://coin.gd" </string> + </array> + </dictionary> + <string> "2D" </string> + <dictionary shared="false"> + <string> "pixel_snap" </string> + <bool> False </bool> + <string> "zoom" </string> + <real> 0.598736 </real> + <string> "ofs" </string> + <vector2> -37.7393, 205.061 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary shared="false"> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 45 </real> + <string> "viewports" </string> + <array len="4" shared="false"> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <dictionary shared="false"> + <string> "distance" </string> + <real> 4 </real> + <string> "x_rot" </string> + <real> 0 </real> + <string> "y_rot" </string> + <real> 0 </real> + <string> "use_orthogonal" </string> + <bool> False </bool> + <string> "use_environment" </string> + <bool> False </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + </array> + <string> "viewport_mode" </string> + <int> 1 </int> + <string> "default_light" </string> + <bool> True </bool> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary shared="false"> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + </dictionary> + <bool> True </bool> + <real> 1 </real> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <int> 64 </int> + <int> 16 </int> + <resource resource_type="TileSet" path="res://tileset.*"> </resource> + <int_array len="1998"> 0, 2, 70, 536870914, 71, 10, 72, 10, 73, 10, 74, 10, 75, 10, 76, 10, 77, 10, 78, 10, 65536, 2, 65606, 536870914, 65607, 10, 65608, 10, 65609, 10, 65610, 10, 65611, 10, 65612, 10, 65613, 10, 65614, 10, 131072, 2, 131142, 536870914, 131143, 10, 131144, 10, 131145, 10, 131146, 10, 131147, 10, 131148, 10, 131149, 10, 131150, 10, 196608, 2, 196626, 9, 196678, 536870914, 196679, 10, 196680, 10, 196681, 10, 196682, 10, 196683, 10, 196684, 10, 196685, 10, 196686, 10, 262144, 2, 262162, 8, 262214, 536870914, 262215, 10, 262216, 10, 262217, 10, 262218, 10, 262219, 10, 262220, 10, 262221, 10, 262222, 10, 327680, 2, 327697, 536870921, 327698, 7, 327733, 9, 327750, 536870914, 327751, 10, 327752, 10, 327753, 10, 327754, 10, 327755, 10, 327756, 10, 327757, 10, 327758, 10, 393216, 2, 393233, 536870920, 393234, 7, 393257, 9, 393269, 7, 393286, 536870914, 393287, 10, 393288, 10, 393289, 10, 393290, 10, 393291, 10, 393292, 10, 393293, 10, 393294, 10, 458752, 2, 458769, 7, 458770, 8, 458790, 9, 458793, 8, 458805, 8, 458822, 536870914, 458823, 10, 458824, 10, 458825, 10, 458826, 10, 458827, 10, 458828, 10, 458829, 10, 458830, 10, 524288, 4, 524289, 1, 524304, 536870913, 524305, 536870918, 524306, 6, 524307, 5, 524308, 1, 524326, 8, 524329, 7, 524341, 7, 524358, 536870914, 524359, 10, 524360, 10, 524361, 10, 524362, 10, 524363, 10, 524364, 10, 524365, 10, 524366, 10, 589824, 10, 589825, 13, 589840, 536870914, 589841, 10, 589842, 10, 589843, 10, 589844, 2, 589862, 7, 589865, 7, 589876, 536870913, 589877, 6, 589878, 1, 589894, 536870914, 589895, 10, 589896, 10, 589897, 10, 589898, 10, 589899, 10, 589900, 10, 589901, 10, 589902, 10, 655360, 2, 655376, 536870914, 655377, 10, 655378, 10, 655379, 10, 655380, 2, 655398, 7, 655401, 8, 655412, 536870925, 655413, 11, 655414, 13, 655430, 536870914, 655431, 10, 655432, 10, 655433, 10, 655434, 10, 655435, 10, 655436, 10, 655437, 10, 655438, 10, 720896, 2, 720912, 536870914, 720913, 10, 720914, 10, 720915, 10, 720916, 2, 720934, 8, 720937, 7, 720958, 536870913, 720959, 5, 720960, 536870917, 720961, 5, 720962, 5, 720963, 536870917, 720964, 5, 720965, 0, 720966, 536870916, 720967, 10, 720968, 10, 720969, 10, 720970, 10, 720971, 10, 720972, 10, 720973, 10, 720974, 10, 786432, 2, 786437, 9, 786448, 536870914, 786449, 10, 786450, 10, 786451, 10, 786452, 2, 786464, 536870913, 786465, 1, 786470, 7, 786473, 7, 786474, 536870924, 786475, 1, 786494, 536870914, 786495, 10, 786496, 10, 786497, 10, 786498, 10, 786499, 10, 786500, 10, 786501, 10, 786502, 10, 786503, 10, 786504, 10, 786505, 10, 786506, 10, 786507, 10, 786508, 10, 786509, 10, 851968, 2, 851973, 7, 851984, 536870914, 851985, 10, 851986, 10, 851987, 10, 851988, 2, 851996, 536870913, 851997, 1, 852000, 536870914, 852001, 3, 852006, 7, 852009, 536870913, 852011, 2, 852030, 536870914, 852031, 10, 852032, 10, 852033, 10, 852034, 10, 852035, 10, 852036, 10, 852037, 10, 852038, 10, 852039, 10, 852040, 10, 852041, 10, 852042, 10, 852043, 10, 852044, 10, 852045, 10, 917504, 2, 917506, 9, 917509, 7, 917512, 536870921, 917520, 536870925, 917521, 11, 917522, 11, 917523, 11, 917524, 13, 917532, 536870925, 917533, 13, 917536, 536870914, 917537, 4, 917538, 1, 917540, 536870913, 917541, 0, 917542, 1, 917545, 536870914, 917546, 10, 917547, 4, 917548, 1, 917566, 536870914, 917567, 10, 917568, 10, 917569, 10, 917570, 10, 917571, 10, 917572, 10, 917573, 10, 917574, 10, 917575, 10, 917576, 10, 917577, 10, 917578, 10, 917579, 10, 917580, 10, 917581, 10, 983040, 2, 983042, 7, 983045, 7, 983048, 536870920, 983050, 536870913, 983051, 1, 983064, 536870913, 983065, 1, 983072, 536870914, 983073, 10, 983074, 4, 983075, 0, 983076, 536870916, 983077, 10, 983078, 4, 983079, 536870912, 983080, 536870912, 983081, 536870916, 983082, 10, 983083, 10, 983084, 2, 983095, 9, 983102, 536870914, 983103, 10, 983104, 10, 983105, 10, 983106, 10, 983107, 10, 983108, 10, 983109, 10, 983110, 10, 983111, 10, 983112, 10, 983113, 10, 983114, 10, 983115, 10, 983116, 10, 983117, 10, 1048576, 2, 1048578, 8, 1048581, 8, 1048584, 536870919, 1048586, 536870925, 1048587, 13, 1048600, 536870925, 1048601, 13, 1048604, 9, 1048608, 536870925, 1048609, 536870923, 1048610, 536870923, 1048611, 536870923, 1048612, 10, 1048613, 10, 1048614, 10, 1048615, 10, 1048616, 10, 1048617, 10, 1048618, 10, 1048619, 10, 1048620, 4, 1048621, 1, 1048630, 536870921, 1048631, 8, 1048638, 536870914, 1048639, 10, 1048640, 10, 1048641, 10, 1048642, 10, 1048643, 10, 1048644, 10, 1048645, 10, 1048646, 10, 1048647, 10, 1048648, 10, 1048649, 10, 1048650, 10, 1048651, 10, 1048652, 10, 1048653, 10, 1114112, 4, 1114113, 0, 1114114, 6, 1114115, 0, 1114116, 0, 1114117, 6, 1114118, 1, 1114120, 536870920, 1114128, 536870913, 1114129, 5, 1114130, 536870917, 1114131, 5, 1114132, 0, 1114133, 1, 1114140, 7, 1114141, 536870921, 1114148, 536870914, 1114149, 10, 1114150, 10, 1114151, 10, 1114152, 10, 1114153, 10, 1114154, 10, 1114155, 10, 1114156, 10, 1114157, 2, 1114166, 536870920, 1114167, 8, 1114174, 536870914, 1114175, 10, 1114176, 10, 1114177, 10, 1114178, 10, 1114179, 10, 1114180, 10, 1114181, 10, 1114182, 10, 1114183, 10, 1114184, 10, 1114185, 10, 1114186, 10, 1114187, 10, 1114188, 10, 1179648, 10, 1179649, 10, 1179650, 10, 1179651, 10, 1179652, 10, 1179653, 10, 1179654, 2, 1179656, 536870919, 1179663, 536870915, 1179665, 10, 1179666, 10, 1179667, 10, 1179668, 10, 1179669, 4, 1179670, 12, 1179675, 9, 1179676, 8, 1179677, 8, 1179684, 536870914, 1179685, 10, 1179686, 10, 1179687, 10, 1179688, 10, 1179689, 10, 1179690, 10, 1179691, 10, 1179692, 10, 1179693, 4, 1179694, 1, 1179701, 9, 1179702, 536870919, 1179703, 7, 1179710, 536870914, 1179711, 10, 1179712, 10, 1179713, 10, 1179714, 10, 1179715, 10, 1179716, 10, 1179717, 10, 1179718, 10, 1179719, 10, 1179720, 10, 1179721, 10, 1179722, 10, 1245184, 10, 1245185, 10, 1245186, 10, 1245187, 10, 1245188, 10, 1245189, 10, 1245190, 2, 1245192, 536870919, 1245199, 536870913, 1245200, 536870916, 1245201, 10, 1245202, 10, 1245203, 10, 1245204, 10, 1245205, 10, 1245207, 1, 1245211, 7, 1245212, 7, 1245213, 536870920, 1245220, 536870914, 1245221, 10, 1245222, 10, 1245223, 10, 1245224, 10, 1245225, 10, 1245226, 10, 1245227, 10, 1245228, 10, 1245229, 10, 1245230, 2, 1245237, 8, 1245238, 536870919, 1245239, 8, 1245240, 536870921, 1245246, 536870914, 1245247, 10, 1245248, 10, 1245249, 10, 1245250, 10, 1245251, 10, 1245252, 10, 1245253, 10, 1245254, 10, 1245255, 10, 1245256, 10, 1245257, 10, 1245258, 10, 1310720, 10, 1310721, 10, 1310722, 10, 1310723, 10, 1310724, 10, 1310725, 10, 1310726, 2, 1310728, 536870920, 1310730, 536870913, 1310731, 1, 1310734, 536870913, 1310735, 536870916, 1310736, 10, 1310737, 10, 1310738, 10, 1310739, 10, 1310740, 10, 1310741, 10, 1310742, 10, 1310743, 4, 1310744, 1, 1310747, 8, 1310748, 7, 1310749, 536870919, 1310756, 536870914, 1310757, 10, 1310758, 10, 1310759, 10, 1310760, 10, 1310761, 10, 1310762, 10, 1310763, 10, 1310764, 10, 1310765, 10, 1310766, 4, 1310767, 5, 1310768, 12, 1310773, 7, 1310774, 536870919, 1310775, 7, 1310776, 536870919, 1310782, 536870914, 1310783, 10, 1310784, 10, 1310785, 10, 1310786, 10, 1310787, 10, 1310788, 10, 1310789, 10, 1310790, 10, 1310791, 10, 1310792, 10, 1310793, 10, 1376256, 10, 1376257, 10, 1376258, 10, 1376259, 10, 1376260, 10, 1376261, 10, 1376262, 4, 1376263, 0, 1376264, 536870918, 1376265, 0, 1376266, 536870916, 1376267, 4, 1376268, 0, 1376269, 0, 1376270, 536870916, 1376271, 10, 1376272, 10, 1376273, 10, 1376274, 10, 1376275, 10, 1376276, 10, 1376277, 10, 1376278, 10, 1376279, 10, 1376280, 4, 1376281, 12, 1376283, 8, 1376284, 8, 1376285, 536870920, 1376287, 536870924, 1376288, 0, 1376289, 5, 1376290, 536870917, 1376291, 0, 1376292, 536870916, 1376293, 10, 1376294, 10, 1376295, 10, 1376296, 10, 1376297, 10, 1376298, 10, 1376299, 10, 1376300, 10, 1376301, 10, 1376302, 10, 1376303, 10, 1376305, 12, 1376309, 7, 1376310, 536870920, 1376311, 7, 1376312, 536870920, 1376318, 536870914, 1376319, 10, 1376320, 10, 1376321, 10, 1376322, 10, 1376323, 10, 1376324, 10, 1376325, 10, 1376326, 10, 1376327, 10, 1376328, 10, 1441792, 10, 1441793, 10, 1441794, 10, 1441795, 10, 1441796, 10, 1441797, 10, 1441798, 10, 1441799, 10, 1441800, 10, 1441801, 10, 1441802, 10, 1441803, 10, 1441804, 10, 1441805, 10, 1441806, 10, 1441807, 10, 1441808, 10, 1441809, 10, 1441810, 10, 1441811, 10, 1441812, 10, 1441813, 10, 1441814, 10, 1441815, 10, 1441816, 10, 1441818, 0, 1441819, 6, 1441820, 6, 1441821, 536870918, 1441822, 5, 1441824, 10, 1441825, 10, 1441826, 10, 1441827, 10, 1441828, 10, 1441829, 10, 1441830, 10, 1441831, 10, 1441832, 10, 1441833, 10, 1441834, 10, 1441835, 10, 1441836, 10, 1441837, 10, 1441838, 10, 1441839, 10, 1441840, 10, 1441842, 0, 1441843, 0, 1441844, 0, 1441845, 6, 1441846, 536870918, 1441847, 6, 1441848, 536870918, 1441849, 0, 1441850, 5, 1441851, 536870917, 1441852, 5, 1441853, 0, 1441854, 536870916, 1441855, 10, 1441856, 10, 1441857, 10, 1441858, 10, 1441859, 10, 1441860, 10, 1441861, 10, 1441862, 10, 1441863, 10, 1507328, 10, 1507329, 10, 1507330, 10, 1507331, 10, 1507332, 10, 1507333, 10, 1507334, 10, 1507335, 10, 1507336, 10, 1507337, 10, 1507338, 10, 1507339, 10, 1507340, 10, 1507341, 10, 1507342, 10, 1507343, 10, 1507344, 10, 1507345, 10, 1507346, 10, 1507347, 10, 1507348, 10, 1507349, 10, 1507350, 10, 1507351, 10, 1507352, 10, 1507353, 10, 1507354, 10, 1507355, 10, 1507356, 10, 1507357, 10, 1507358, 10, 1507359, 10, 1507360, 10, 1507361, 10, 1507362, 10, 1507363, 10, 1507364, 10, 1507365, 10, 1507366, 10, 1507367, 10, 1507368, 10, 1507369, 10, 1507370, 10, 1507371, 10, 1507372, 10, 1507373, 10, 1507374, 10, 1507375, 10, 1507376, 10, 1507377, 10, 1507378, 10, 1507379, 10, 1507380, 10, 1507381, 10, 1507382, 10, 1507383, 10, 1507384, 10, 1507385, 10, 1507386, 10, 1507387, 10, 1507388, 10, 1507389, 10, 1507390, 10, 1507391, 10, 1507392, 10, 1507393, 10, 1507394, 10, 1507395, 10, 1507396, 10, 1507397, 10, 1507398, 10, 1507399, 10, 1572864, 10, 1572865, 10, 1572866, 10, 1572867, 10, 1572868, 10, 1572869, 10, 1572870, 10, 1572871, 10, 1572872, 10, 1572873, 10, 1572874, 10, 1572875, 10, 1572876, 10, 1572877, 10, 1572878, 10, 1572879, 10, 1572880, 10, 1572881, 10, 1572882, 10, 1572883, 10, 1572884, 10, 1572885, 10, 1572886, 10, 1572887, 10, 1572888, 10, 1572889, 10, 1572890, 10, 1572891, 10, 1572892, 10, 1572893, 10, 1572894, 10, 1572895, 10, 1572896, 10, 1572897, 10, 1572898, 10, 1572899, 10, 1572900, 10, 1572901, 10, 1572902, 10, 1572903, 10, 1572904, 10, 1572905, 10, 1572906, 10, 1572907, 10, 1572908, 10, 1572909, 10, 1572910, 10, 1572911, 10, 1572912, 10, 1572913, 10, 1572914, 10, 1572915, 10, 1572916, 10, 1572917, 10, 1572918, 10, 1572919, 10, 1572920, 10, 1572921, 10, 1572922, 10, 1572923, 10, 1572924, 10, 1572925, 10, 1572926, 10, 1572927, 10, 1572928, 10, 1572929, 10, 1572930, 10, 1572931, 10, 1572932, 10, 1572933, 10, 1572934, 10, 1572935, 10, 1638400, 10, 1638401, 10, 1638402, 10, 1638403, 10, 1638404, 10, 1638405, 10, 1638406, 10, 1638407, 10, 1638408, 10, 1638409, 10, 1638410, 10, 1638411, 10, 1638412, 10, 1638413, 10, 1638414, 10, 1638415, 10, 1638416, 10, 1638417, 10, 1638418, 10, 1638419, 10, 1638420, 10, 1638421, 10, 1638422, 10, 1638423, 10, 1638424, 10, 1638425, 10, 1638426, 10, 1638427, 10, 1638428, 10, 1638429, 10, 1638430, 10, 1638431, 10, 1638432, 10, 1638433, 10, 1638434, 10, 1638435, 10, 1638436, 10, 1638437, 10, 1638438, 10, 1638439, 10, 1638440, 10, 1638441, 10, 1638442, 10, 1638443, 10, 1638444, 10, 1638445, 10, 1638446, 10, 1638447, 10, 1638448, 10, 1638449, 10, 1638450, 10, 1638451, 10, 1638452, 10, 1638453, 10, 1638454, 10, 1638455, 10, 1638456, 10, 1638457, 10, 1638458, 10, 1638459, 10, 1638460, 10, 1638461, 10, 1638462, 10, 1638463, 10, 1638464, 10, 1638465, 10, 1638466, 10, 1638467, 10, 1638468, 10, 1638469, 10, 1638470, 10, 1638471, 10, 1703952, 10, 1703953, 10, 1703954, 10, 1703955, 10, 1703956, 10, 1703957, 10, 1703958, 10, 1703959, 10, 1703960, 10, 1703961, 10, 1703962, 10, 1703963, 10, 1703964, 10, 1703965, 10, 1703966, 10, 1703967, 10, 1703968, 10, 1703969, 10, 1703970, 10, 1703971, 10, 1703972, 10, 1703973, 10, 1703974, 10, 1703975, 10, 1703976, 10, 1703977, 10, 1703978, 10, 1703979, 10, 1703980, 10, 1703981, 10, 1703982, 10, 1703983, 10, 1703984, 10, 1703985, 10, 1703986, 10, 1703987, 10, 1703988, 10, 1703989, 10, 1703990, 10, 1703991, 10, 1703992, 10, 1703993, 10, 1703994, 10, 1703995, 10, 1703996, 10, 1703997, 10, 1703998, 10, 1703999, 10, 1704000, 10, 1704001, 10, 1704002, 10, 1704003, 10, 1704004, 10, 1704005, 10, 1704006, 10, 1704007, 10, 1769488, 10, 1769489, 10, 1769490, 10, 1769491, 10, 1769492, 10, 1769493, 10, 1769494, 10, 1769495, 10, 1769496, 10, 1769497, 10, 1769498, 10, 1769499, 10, 1769500, 10, 1769501, 10, 1769502, 10, 1769503, 10, 1769504, 10, 1769505, 10, 1769506, 10, 1769507, 10, 1769508, 10, 1769509, 10, 1769510, 10, 1769511, 10, 1769512, 10, 1769513, 10, 1769514, 10, 1769515, 10, 1769516, 10, 1769517, 10, 1769518, 10, 1769519, 10, 1769520, 10, 1769521, 10, 1769522, 10, 1769523, 10, 1769524, 10, 1769525, 10, 1769526, 10, 1769527, 10, 1769528, 10, 1769529, 10, 1769530, 10, 1769531, 10, 1769532, 10, 1769533, 10, 1769534, 10, 1769535, 10, 1769536, 10, 1769537, 10, 1769538, 10, 1769539, 10, 1769540, 10, 1769541, 10 </int_array> + <dictionary shared="false"> + <string> "_edit_lock_" </string> + <bool> True </bool> + </dictionary> + <dictionary shared="false"> + <string> "_editor_collapsed" </string> + <bool> True </bool> + </dictionary> + <resource resource_type="PackedScene" path="res://coin.*"> </resource> + <vector2> 672, 1120 </vector2> + <vector2> 704, 1120 </vector2> + <vector2> 736, 1120 </vector2> + <vector2> 1120, 992 </vector2> + <vector2> 1152, 992 </vector2> + <vector2> 1184, 992 </vector2> + <vector2> 1216, 992 </vector2> + <vector2> 1248, 992 </vector2> + <vector2> 1568, 864 </vector2> + <vector2> 1632, 864 </vector2> + <vector2> 1824, 768 </vector2> + <vector2> 1888, 768 </vector2> + <vector2> 2080, 672 </vector2> + <vector2> 2144, 672 </vector2> + <vector2> 1792, 1248 </vector2> + <vector2> 1856, 1248 </vector2> + <vector2> 1920, 1248 </vector2> + <vector2> 1920, 1184 </vector2> + <vector2> 1856, 1184 </vector2> + <vector2> 1792, 1184 </vector2> + <vector2> 98.8868, 488.515 </vector2> + <vector2> 89.5989, 481.217 </vector2> + <vector2> 108.175, 481.217 </vector2> + <vector2> 116.136, 469.939 </vector2> + <vector2> 117.463, 457.997 </vector2> + <vector2> 106.184, 449.373 </vector2> + <vector2> 98.2234, 458.661 </vector2> + <vector2> 88.272, 448.71 </vector2> + <vector2> 79.6476, 457.334 </vector2> + <vector2> 82.9647, 468.612 </vector2> + <vector2> 3357.42, 465.288 </vector2> + <vector2> 3421.42, 465.288 </vector2> + <vector2> 3485.42, 465.288 </vector2> + <vector2> 3485.42, 401.288 </vector2> + <vector2> 3421.42, 401.288 </vector2> + <vector2> 3357.42, 401.288 </vector2> + <vector2> 4172.75, 605.058 </vector2> + <vector2> 4236.75, 605.058 </vector2> + <vector2> 4300.75, 605.058 </vector2> + <vector2> 4300.75, 541.058 </vector2> + <vector2> 4236.75, 541.058 </vector2> + <vector2> 4172.75, 541.058 </vector2> + <resource resource_type="PackedScene" path="res://player.*"> </resource> + <vector2> 236.879, 1051.15 </vector2> + <resource resource_type="PackedScene" path="res://moving_platform.*"> </resource> + <vector2> 1451.86, 742.969 </vector2> + <vector2> 0, 140 </vector2> + <real> 5 </real> + <vector2> 624.824, 545.544 </vector2> + <vector2> 300, 0 </vector2> + <real> 10 </real> + <vector2> 3419.86, 739.662 </vector2> + <vector2> 450, 0 </vector2> + <resource resource_type="PackedScene" path="res://seesaw.*"> </resource> + <vector2> 2402.79, 849.52 </vector2> + <resource resource_type="AudioStreamOGGVorbis" path="res://music.*"> </resource> + <bool> False </bool> + <real> 2 </real> + <resource resource_type="PackedScene" path="res://enemy.*"> </resource> + <vector2> 834.664, 1309.6 </vector2> + <vector2> 707.665, 1225.05 </vector2> + <vector2> 1125.21, 1053.06 </vector2> + <vector2> 1292.11, 1059.24 </vector2> + <vector2> 1607.38, 923.239 </vector2> + <vector2> 2586.9, 939.059 </vector2> + <vector2> 1457.6, 688.741 </vector2> + <vector2> 1193.63, 460.381 </vector2> + <vector2> 3429.73, 540.865 </vector2> + <vector2> 3546.2, 1356.19 </vector2> + <vector2> 2406.63, 815.115 </vector2> + <resource resource_type="PackedScene" path="res://parallax_bg.*"> </resource> + </array> + <string> "nodes" </string> + <int_array len="623"> -1, -1, 1, 0, -1, 1, 2, 0, 0, 0, 0, 4, 3, -1, 12, 5, 1, 6, 2, 7, 2, 8, 1, 9, 3, 10, 4, 11, 5, 12, 6, 13, 7, 14, 8, 15, 9, 2, 10, 0, 0, 0, 1, 16, -1, 1, 2, 11, 0, 2, 0, 18, 17, 12, 1, 9, 13, 0, 2, 0, 18, 19, 12, 1, 9, 14, 0, 2, 0, 18, 20, 12, 1, 9, 15, 0, 2, 0, 18, 21, 12, 1, 9, 16, 0, 2, 0, 18, 22, 12, 1, 9, 17, 0, 2, 0, 18, 23, 12, 1, 9, 18, 0, 2, 0, 18, 24, 12, 1, 9, 19, 0, 2, 0, 18, 25, 12, 1, 9, 20, 0, 2, 0, 18, 26, 12, 1, 9, 21, 0, 2, 0, 18, 27, 12, 1, 9, 22, 0, 2, 0, 18, 28, 12, 1, 9, 23, 0, 2, 0, 18, 29, 12, 1, 9, 24, 0, 2, 0, 18, 30, 12, 1, 9, 25, 0, 2, 0, 18, 31, 12, 1, 9, 26, 0, 2, 0, 18, 32, 12, 1, 9, 27, 0, 2, 0, 18, 33, 12, 1, 9, 28, 0, 2, 0, 18, 34, 12, 1, 9, 29, 0, 2, 0, 18, 35, 12, 1, 9, 30, 0, 2, 0, 18, 36, 12, 1, 9, 31, 0, 2, 0, 18, 37, 12, 1, 9, 32, 0, 2, 0, 18, 38, 12, 1, 9, 33, 0, 2, 0, 18, 39, 12, 1, 9, 34, 0, 2, 0, 18, 40, 12, 1, 9, 35, 0, 2, 0, 18, 41, 12, 1, 9, 36, 0, 2, 0, 18, 42, 12, 1, 9, 37, 0, 2, 0, 18, 43, 12, 1, 9, 38, 0, 2, 0, 18, 44, 12, 1, 9, 39, 0, 2, 0, 18, 45, 12, 1, 9, 40, 0, 2, 0, 18, 46, 12, 1, 9, 41, 0, 2, 0, 18, 47, 12, 1, 9, 42, 0, 2, 0, 18, 48, 12, 1, 9, 43, 0, 2, 0, 18, 49, 12, 1, 9, 44, 0, 2, 0, 18, 50, 12, 1, 9, 45, 0, 2, 0, 18, 51, 12, 1, 9, 46, 0, 2, 0, 18, 52, 12, 1, 9, 47, 0, 2, 0, 18, 53, 12, 1, 9, 48, 0, 2, 0, 18, 54, 12, 1, 9, 49, 0, 2, 0, 18, 55, 12, 1, 9, 50, 0, 2, 0, 18, 56, 12, 1, 9, 51, 0, 2, 0, 18, 57, 12, 1, 9, 52, 0, 2, 0, 18, 58, 12, 1, 9, 53, 0, 2, 0, 18, 59, 12, 1, 9, 54, 0, 0, 0, 61, 60, 55, 1, 9, 56, 0, 0, 0, 1, 62, -1, 0, 0, 46, 0, 64, 63, 57, 3, 9, 58, 65, 59, 66, 60, 0, 46, 0, 64, 67, 57, 3, 9, 61, 65, 62, 66, 63, 0, 46, 0, 64, 68, 57, 3, 9, 64, 65, 65, 66, 63, 0, 46, 0, 64, 69, 66, 1, 9, 67, 0, 0, 0, 71, 70, -1, 6, 72, 68, 73, 69, 74, 1, 75, 70, 76, 1, 77, 69, 0, 0, 0, 1, 78, -1, 0, 0, 52, 0, 61, 79, 71, 1, 9, 72, 0, 52, 0, 61, 80, 71, 1, 9, 73, 0, 52, 0, 61, 81, 71, 1, 9, 74, 0, 52, 0, 61, 82, 71, 1, 9, 75, 0, 52, 0, 61, 83, 71, 1, 9, 76, 0, 52, 0, 61, 84, 71, 1, 9, 77, 0, 52, 0, 61, 85, 71, 1, 9, 78, 0, 52, 0, 61, 86, 71, 1, 9, 79, 0, 52, 0, 61, 87, 71, 1, 9, 80, 0, 52, 0, 61, 88, 71, 1, 9, 81, 0, 52, 0, 61, 89, 71, 1, 9, 82, 0, 0, 0, 91, 90, 83, 0, 0 </int_array> + <string> "conns" </string> + <int_array len="0"> </int_array> + </dictionary> + + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/tiles_demo.png b/demos/2d/platformer/tiles_demo.png Binary files differnew file mode 100644 index 0000000000..a7a5000906 --- /dev/null +++ b/demos/2d/platformer/tiles_demo.png diff --git a/demos/2d/platformer/tileset.xml b/demos/2d/platformer/tileset.xml new file mode 100644 index 0000000000..2e4ecc8c04 --- /dev/null +++ b/demos/2d/platformer/tileset.xml @@ -0,0 +1,134 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="TileSet" subresource_count="12" version="0.99" version_name="Godot Engine v0.99.3037-pre-beta"> + <ext_resource path="res://tiles_demo.png" type="Texture"></ext_resource> + <resource type="ConvexPolygonShape2D" path="local://0"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 8, 64, 8, 64, 64, 0, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://1"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 8, 56, 8, 56, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://2"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://3"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://4"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="5"> 0, 64, 0, 0, 56, 0, 64, 8, 64, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://5"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 8, 64, 8, 64, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://6"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 8, 64, 8, 64, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://7"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 0, 64, 0, 64, 64, 0, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://8"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 8, 64, 72, 64, 128, 0, 128 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://9"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <main_resource> + <string name="resource/name"> "" </string> + <string name="0/name"> "floor" </string> + <resource name="0/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="0/offset"> 0, 0 </vector2> + <rect2 name="0/region"> 0, 0, 64, 64 </rect2> + <resource name="0/shape" resource_type="ConvexPolygonShape2D" path="local://0"> </resource> + <string name="1/name"> "edge" </string> + <resource name="1/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="1/offset"> 0, 0 </vector2> + <rect2 name="1/region"> 64, 0, 64, 64 </rect2> + <resource name="1/shape" resource_type="ConvexPolygonShape2D" path="local://1"> </resource> + <string name="2/name"> "wall" </string> + <resource name="2/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="2/offset"> 0, 0 </vector2> + <rect2 name="2/region"> 64, 64, 64, 64 </rect2> + <resource name="2/shape" resource_type="ConvexPolygonShape2D" path="local://2"> </resource> + <string name="3/name"> "wall_deco" </string> + <resource name="3/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="3/offset"> 0, 0 </vector2> + <rect2 name="3/region"> 320, 128, 128, 64 </rect2> + <resource name="3/shape" resource_type="ConvexPolygonShape2D" path="local://3"> </resource> + <string name="4/name"> "corner" </string> + <resource name="4/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="4/offset"> 0, 0 </vector2> + <rect2 name="4/region"> 64, 128, 64, 64 </rect2> + <resource name="4/shape" resource_type="ConvexPolygonShape2D" path="local://4"> </resource> + <string name="5/name"> "flowers" </string> + <resource name="5/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="5/offset"> 0, 0 </vector2> + <rect2 name="5/region"> 192, 192, 64, 64 </rect2> + <resource name="5/shape" resource_type="ConvexPolygonShape2D" path="local://5"> </resource> + <string name="6/name"> "tree_base" </string> + <resource name="6/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="6/offset"> 0, 0 </vector2> + <rect2 name="6/region"> 256, 192, 64, 64 </rect2> + <resource name="6/shape" resource_type="ConvexPolygonShape2D" path="local://6"> </resource> + <string name="7/name"> "tree_mid" </string> + <resource name="7/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="7/offset"> 0, 0 </vector2> + <rect2 name="7/region"> 256, 128, 64, 64 </rect2> + <resource name="7/shape"></resource> <string name="8/name"> "tree_mid 2" </string> + <resource name="8/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="8/offset"> 0, 0 </vector2> + <rect2 name="8/region"> 256, 64, 64, 64 </rect2> + <resource name="8/shape"></resource> <string name="9/name"> "tree_top" </string> + <resource name="9/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="9/offset"> 0, 0 </vector2> + <rect2 name="9/region"> 256, 0, 64, 64 </rect2> + <resource name="9/shape"></resource> <string name="10/name"> "solid" </string> + <resource name="10/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="10/offset"> 0, 0 </vector2> + <rect2 name="10/region"> 0, 64, 64, 64 </rect2> + <resource name="10/shape"></resource> <string name="11/name"> "ceiling" </string> + <resource name="11/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="11/offset"> 0, 0 </vector2> + <rect2 name="11/region"> 384, 64, 64, 64 </rect2> + <resource name="11/shape" resource_type="ConvexPolygonShape2D" path="local://7"> </resource> + <string name="12/name"> "ramp" </string> + <resource name="12/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="12/offset"> 0, 0 </vector2> + <rect2 name="12/region"> 128, 128, 64, 128 </rect2> + <resource name="12/shape" resource_type="ConvexPolygonShape2D" path="local://8"> </resource> + <string name="13/name"> "ceiling2wall" </string> + <resource name="13/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> + <vector2 name="13/offset"> 0, 0 </vector2> + <rect2 name="13/region"> 448, 64, 64, 64 </rect2> + <resource name="13/shape" resource_type="ConvexPolygonShape2D" path="local://9"> </resource> + <resource name="script/script"></resource> + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/tileset_edit.xml b/demos/2d/platformer/tileset_edit.xml new file mode 100644 index 0000000000..4778a8f1e2 --- /dev/null +++ b/demos/2d/platformer/tileset_edit.xml @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<resource_file type="PackedScene" subresource_count="12" version="0.99" version_name="Godot Engine v0.99.3037-pre-beta"> + <ext_resource path="res://tiles_demo.png" type="Texture"></ext_resource> + <resource type="ConvexPolygonShape2D" path="local://0"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 8, 64, 8, 64, 64, 0, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://1"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 8, 56, 8, 56, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://2"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://3"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://4"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="5"> 0, 64, 0, 0, 56, 0, 64, 8, 64, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://5"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 8, 64, 72, 64, 128, 0, 128 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://6"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 8, 64, 8, 64, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://7"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 8, 64, 8, 64, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://8"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 0, 64, 0, 64, 64, 0, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <resource type="ConvexPolygonShape2D" path="local://9"> + <string name="resource/name"> "" </string> + <real name="custom_solver_bias"> 0 </real> + <vector2_array name="points" len="4"> 0, 64, 0, 0, 56, 0, 56, 64 </vector2_array> + <resource name="script/script"></resource> + </resource> + <main_resource> + <string name="resource/name"> "" </string> + <dictionary name="_bundled"> + <string> "names" </string> + <string_array len="86"> + <string> "Node" </string> + <string> "process/process" </string> + <string> "process/fixed_process" </string> + <string> "process/input" </string> + <string> "process/unhandled_input" </string> + <string> "process/mode" </string> + <string> "script/script" </string> + <string> "__meta__" </string> + <string> "floor" </string> + <string> "Sprite" </string> + <string> "visibility/visible" </string> + <string> "visibility/toplevel" </string> + <string> "visibility/opacity" </string> + <string> "visibility/self_opacity" </string> + <string> "visibility/on_top" </string> + <string> "visibility/blend_mode" </string> + <string> "transform/notify" </string> + <string> "transform/pos" </string> + <string> "transform/rot" </string> + <string> "transform/scale" </string> + <string> "texture" </string> + <string> "centered" </string> + <string> "offset" </string> + <string> "flip_h" </string> + <string> "flip_v" </string> + <string> "vframes" </string> + <string> "hframes" </string> + <string> "frame" </string> + <string> "modulate" </string> + <string> "region" </string> + <string> "region_rect" </string> + <string> "collision" </string> + <string> "StaticBody2D" </string> + <string> "shape_count" </string> + <string> "shapes/0/shape" </string> + <string> "shapes/0/transform" </string> + <string> "simulate_motion" </string> + <string> "constant_linear_velocity" </string> + <string> "constant_angular_velocity" </string> + <string> "CollisionPolygon2D" </string> + <string> "build_mode" </string> + <string> "polygon" </string> + <string> "edge" </string> + <string> "wall" </string> + <string> "wall_deco" </string> + <string> "corner" </string> + <string> "ramp" </string> + <string> "flowers" </string> + <string> "tree_base" </string> + <string> "tree_mid" </string> + <string> "tree_mid 2" </string> + <string> "tree_top" </string> + <string> "solid" </string> + <string> "ceiling" </string> + <string> "ceiling2wall" </string> + <string> "help" </string> + <string> "Label" </string> + <string> "anchor/left" </string> + <string> "anchor/top" </string> + <string> "anchor/right" </string> + <string> "anchor/bottom" </string> + <string> "margin/left" </string> + <string> "margin/top" </string> + <string> "margin/right" </string> + <string> "margin/bottom" </string> + <string> "hint/tooltip" </string> + <string> "focus_neighbour/left" </string> + <string> "focus_neighbour/top" </string> + <string> "focus_neighbour/right" </string> + <string> "focus_neighbour/bottom" </string> + <string> "focus/ignore_mouse" </string> + <string> "focus/stop_mouse" </string> + <string> "size_flags/horizontal" </string> + <string> "size_flags/vertical" </string> + <string> "size_flags/stretch_ratio" </string> + <string> "range/min" </string> + <string> "range/max" </string> + <string> "range/step" </string> + <string> "range/page" </string> + <string> "range/value" </string> + <string> "range/exp_edit" </string> + <string> "rounded_values" </string> + <string> "text" </string> + <string> "align" </string> + <string> "valign" </string> + <string> "autowrap" </string> + </string_array> + <string> "version" </string> + <int> 1 </int> + <string> "conn_count" </string> + <int> 0 </int> + <string> "node_count" </string> + <int> 36 </int> + <string> "variants" </string> + <array len="66"> + <bool> False </bool> + <int> 0 </int> + <resource name=""></resource> <dictionary> + <string> "__editor_plugin_states__" </string> + <dictionary> + <string> "2D" </string> + <dictionary> + <string> "zoom" </string> + <real> 3.09087 </real> + <string> "ofs" </string> + <vector2> -2.41578, -57.0874 </vector2> + </dictionary> + <string> "3D" </string> + <dictionary> + <string> "zfar" </string> + <real> 500 </real> + <string> "fov" </string> + <real> 45 </real> + <string> "window_mode" </string> + <int> 0 </int> + <string> "window_0" </string> + <dictionary> + <string> "distance" </string> + <real> 4 </real> + <string> "default_light" </string> + <bool> True </bool> + <string> "x_rot" </string> + <real> 0.337 </real> + <string> "y_rot" </string> + <real> -0.575 </real> + <string> "show_grid" </string> + <bool> True </bool> + <string> "show_origin" </string> + <bool> True </bool> + <string> "pos" </string> + <vector3> 0, 0, 0 </vector3> + </dictionary> + <string> "znear" </string> + <real> 0.1 </real> + </dictionary> + </dictionary> + <string> "__editor_run_settings__" </string> + <dictionary> + <string> "custom_args" </string> + <string> "-l $scene" </string> + <string> "run_mode" </string> + <int> 0 </int> + </dictionary> + <string> "__editor_plugin_screen__" </string> + <string> "2D" </string> + </dictionary> + <bool> True </bool> + <real> 1 </real> + <vector2> 0, 0 </vector2> + <real> 0 </real> + <vector2> 1, 1 </vector2> + <resource resource_type="Texture" path="res://tiles_demo.png"> </resource> + <int> 1 </int> + <color> 1, 1, 1, 1 </color> + <rect2> 0, 0, 64, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://0"> </resource> + <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> + <int> 2 </int> + <vector2_array len="4"> 64, 8, 64, 64, 0, 64, 0, 8 </vector2_array> + <vector2> 64, 0 </vector2> + <rect2> 64, 0, 64, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://1"> </resource> + <vector2_array len="4"> 0, 8, 56, 8, 56, 64, 0, 64 </vector2_array> + <vector2> 64, 64 </vector2> + <rect2> 64, 64, 64, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://2"> </resource> + <vector2_array len="4"> 0, 0, 56, 0, 56, 64, 0, 64 </vector2_array> + <vector2> 64, 128 </vector2> + <rect2> 320, 128, 128, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://3"> </resource> + <vector2> 64, 192 </vector2> + <rect2> 64, 128, 64, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://4"> </resource> + <vector2_array len="5"> 0, 0, 56, 0, 64, 8, 64, 64, 0, 64 </vector2_array> + <vector2> 256, 192 </vector2> + <rect2> 128, 128, 64, 128 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://5"> </resource> + <vector2_array len="4"> 0, 8, 64, 72, 64, 128, 0, 128 </vector2_array> + <vector2> 128, 192 </vector2> + <rect2> 192, 192, 64, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://6"> </resource> + <vector2_array len="4"> 0, 64, 64, 64, 64, 8, 0, 8 </vector2_array> + <vector2> 192, 192 </vector2> + <rect2> 256, 192, 64, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://7"> </resource> + <vector2> 192, 128 </vector2> + <rect2> 256, 128, 64, 64 </rect2> + <vector2> 192, 64 </vector2> + <rect2> 256, 64, 64, 64 </rect2> + <vector2> 192, 0 </vector2> + <rect2> 256, 0, 64, 64 </rect2> + <vector2> 0, 64 </vector2> + <rect2> 0, 64, 64, 64 </rect2> + <vector2> 0, 128 </vector2> + <rect2> 384, 64, 64, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://8"> </resource> + <vector2_array len="4"> 64, 0, 64, 64, 0, 64, 0, 0 </vector2_array> + <vector2> 0, 192 </vector2> + <rect2> 448, 64, 64, 64 </rect2> + <resource resource_type="ConvexPolygonShape2D" path="local://9"> </resource> + <real> 296 </real> + <real> 8 </real> + <real> 596 </real> + <real> 125 </real> + <string> "" </string> + <node_path> "" </node_path> + <real> 14 </real> + <string> "This scene serves as a tool for editing the tileset. Nodes (sprites) and their respective collisions are edited here. To create a tileset from this, a "TileSet" resoucre must be created. this resource adds a menu which allows generating of the tileset data from the scene. or optionally merge it if one already exists (by looking at identical tile names). Finally, the saved tileset resource (tileset.xml in this case), can be opened to be used into a TileMap node for editing a tile map. " </string> + </array> + <string> "nodes" </string> + <int_array len="1906"> -1, -1, 0, 0, -1, 7, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 6, 2, 7, 3, 0, 0, 0, 9, 8, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 6, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 12, 6, 2, 0, 1, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 13, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 2, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 16, 6, 2, 0, 0, 0, 9, 42, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 17, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 18, 6, 2, 0, 4, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 19, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 5, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 20, 6, 2, 0, 0, 0, 9, 43, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 21, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 22, 6, 2, 0, 7, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 23, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 8, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 24, 6, 2, 0, 0, 0, 9, 44, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 25, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 26, 6, 2, 0, 10, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 27, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 11, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 24, 6, 2, 0, 0, 0, 9, 45, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 28, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 29, 6, 2, 0, 13, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 30, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 14, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 31, 6, 2, 0, 0, 0, 9, 46, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 32, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 33, 6, 2, 0, 16, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 34, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 17, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 35, 6, 2, 0, 0, 0, 9, 47, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 36, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 37, 6, 2, 0, 19, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 38, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 20, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 39, 6, 2, 0, 0, 0, 9, 48, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 40, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 41, 6, 2, 0, 22, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 42, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 23, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 39, 6, 2, 0, 0, 0, 9, 49, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 43, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 44, 6, 2, 0, 0, 0, 9, 50, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 45, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 46, 6, 2, 0, 0, 0, 9, 51, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 47, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 48, 6, 2, 0, 0, 0, 9, 52, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 49, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 50, 6, 2, 0, 0, 0, 9, 53, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 51, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 52, 6, 2, 0, 29, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 53, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 30, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 54, 6, 2, 0, 0, 0, 9, 54, -1, 27, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 17, 55, 18, 7, 19, 8, 20, 9, 21, 0, 22, 6, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 4, 30, 56, 6, 2, 0, 32, 0, 32, 31, -1, 22, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 33, 10, 34, 57, 35, 14, 36, 0, 37, 6, 38, 7, 6, 2, 0, 33, 0, 39, 39, -1, 18, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 4, 17, 6, 18, 7, 19, 8, 40, 15, 41, 24, 6, 2, 0, 0, 0, 56, 55, -1, 42, 1, 0, 2, 0, 3, 0, 4, 0, 5, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 4, 15, 1, 16, 0, 57, 1, 58, 1, 59, 1, 60, 1, 61, 58, 62, 59, 63, 60, 64, 61, 65, 62, 66, 63, 67, 63, 68, 63, 69, 63, 70, 4, 71, 4, 72, 15, 73, 1, 74, 5, 75, 7, 76, 64, 77, 5, 78, 64, 79, 7, 80, 0, 81, 0, 82, 65, 83, 1, 84, 1, 85, 0, 6, 2, 0 </int_array> + <string> "conns" </string> + <int_array len="0"> </int_array> + </dictionary> + <resource name="script/script"></resource> + </main_resource> +</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/types.cache b/demos/2d/platformer/types.cache new file mode 100644 index 0000000000..a215e5f137 --- /dev/null +++ b/demos/2d/platformer/types.cache @@ -0,0 +1,64 @@ +res://tileset.xml +TileSet +res://sound_shoot.wav +Sample +res://sound_hit.wav +Sample +res://scroll_bg_cloud_2.png +Texture +res://enemy.png +Texture +res://bullet.gd +GDScript +res://scroll_bg_cloud_3.png +Texture +res://coin.gd +GDScript +res://stage.xml +PackedScene +res://moving_platform.xml +PackedScene +res://bullet.png +Texture +res://player.xml +PackedScene +res://parallax_bg.xml +PackedScene +res://music.ogg +AudioStreamOGGVorbis +res://coin.png +Texture +res://sound_explode.wav +Sample +res://sound_coin.wav +Sample +res://robot_demo.png +Texture +res://moving_platform.gd +GDScript +res://enemy.xml +PackedScene +res://tileset_edit.xml +PackedScene +res://scroll_bg_fg_1.png +Texture +res://player.gd +GDScript +res://scroll_bg_fg_2.png +Texture +res://moving_platform.png +Texture +res://enemy.gd +GDScript +res://bullet.xml +PackedScene +res://tiles_demo.png +Texture +res://sound_jump.wav +Sample +res://scroll_bg_sky.png +Texture +res://scroll_bg_cloud_1.png +Texture +res://coin.xml +PackedScene |