diff options
Diffstat (limited to 'demos')
195 files changed, 9960 insertions, 6667 deletions
diff --git a/demos/2d/area_input/engine.cfg b/demos/2d/area_input/engine.cfg index 8fa2e15beb..ce87f39547 100644 --- a/demos/2d/area_input/engine.cfg +++ b/demos/2d/area_input/engine.cfg @@ -1,5 +1,5 @@ [application] name="Area 2D Input Events" -main_scene="res://input.scn" +main_scene="res://input.tscn" icon="res://icon.png" diff --git a/demos/2d/area_input/input.scn b/demos/2d/area_input/input.scn Binary files differdeleted file mode 100644 index f3a19f64da..0000000000 --- a/demos/2d/area_input/input.scn +++ /dev/null diff --git a/demos/2d/area_input/input.tscn b/demos/2d/area_input/input.tscn new file mode 100644 index 0000000000..81c0ed918d --- /dev/null +++ b/demos/2d/area_input/input.tscn @@ -0,0 +1,109 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://input.gd" type="Script" id=1] +[ext_resource path="res://box_area.png" type="Texture" id=2] +[ext_resource path="res://circle_area.png" type="Texture" id=3] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 64, 64 ) + +[sub_resource type="CircleShape2D" id=2] + +custom_solver_bias = 0.0 +radius = 64.0 + +[node name="base" type="Node2D"] + +[node name="box" type="Area2D" parent="."] + +transform/pos = Vector2( 212, 281 ) +transform/rot = 35.4081 +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="box"] + +texture = ExtResource( 2 ) + +[node name="label" type="Label" parent="box"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = -43.0 +margin/top = 71.0 +margin/right = 43.0 +margin/bottom = 84.0 +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="shape" type="CollisionShape2D" parent="box"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="circle" type="Area2D" parent="."] + +transform/pos = Vector2( 547.877, 286.808 ) +transform/rot = -40.5985 +input/pickable = true +shapes/0/shape = SubResource( 2 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="circle"] + +texture = ExtResource( 3 ) + +[node name="label" type="Label" parent="circle"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = -43.0 +margin/top = 71.0 +margin/right = 43.0 +margin/bottom = 84.0 +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="shape" type="CollisionShape2D" parent="circle"] + +shape = SubResource( 2 ) +trigger = false +_update_shape_index = -1 + +[node name="Label" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 13.0 +text = "This demo shows how to use a regular Area2D to get input events, and how to convert the input events to local coordinates of the node.\nUnlike controls, Input on Area2D or PhysicsBody2D nodes only works properly (with scrolling) on canvas layer 0." +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/dynamic_collision_shapes/ball.scn b/demos/2d/dynamic_collision_shapes/ball.scn Binary files differdeleted file mode 100644 index 51a91d5bc0..0000000000 --- a/demos/2d/dynamic_collision_shapes/ball.scn +++ /dev/null diff --git a/demos/2d/dynamic_collision_shapes/ball.tscn b/demos/2d/dynamic_collision_shapes/ball.tscn new file mode 100644 index 0000000000..31560e251b --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/ball.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://ball.gd" type="Script" id=1] +[ext_resource path="res://ball.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 7.45713 + +[node name="bal" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 1 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = 0 + + diff --git a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd index 25db51642b..c43b82a722 100644 --- a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd +++ b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd @@ -10,7 +10,7 @@ func _process(delta): timeout -= delta if (timeout < 0): timeout = EMIT_INTERVAL - var ball = preload("res://ball.scn").instance() + var ball = preload("res://ball.tscn").instance() ball.set_pos(Vector2(randf()*get_viewport_rect().size.x, 0)) add_child(ball) diff --git a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn Binary files differdeleted file mode 100644 index 6d17e2209f..0000000000 --- a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn +++ /dev/null diff --git a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn new file mode 100644 index 0000000000..61af0b8e7d --- /dev/null +++ b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn @@ -0,0 +1,178 @@ +[gd_scene load_steps=13 format=1] + +[ext_resource path="res://dynamic_colobjs.gd" type="Script" id=1] +[ext_resource path="res://circle.png" type="Texture" id=2] +[ext_resource path="res://box.png" type="Texture" id=3] +[ext_resource path="res://poly.png" type="Texture" id=4] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 28.8504 + +[sub_resource type="RectangleShape2D" id=2] + +custom_solver_bias = 0.0 +extents = Vector2( 32.1805, 30.0328 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( 49.5669, -27.9744, 45.1564, 15.3961, 18.6931, -1.51105 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( -55.093, -14.2052, -37.1739, 2.89948, -40.1345, 21.2602, -53.3067, 15.8716 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] + +custom_solver_bias = 0.0 +points = Vector2Array( -40.1345, 21.2602, -37.1739, 2.89948, -14.386, -14.0076, -6.30005, 0.694214 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] + +custom_solver_bias = 0.0 +points = Vector2Array( -14.386, -14.0076, 18.6931, -1.51105, 45.1564, 15.3961, -6.30005, 0.694214 ) + +[sub_resource type="Animation" id=7] + +resource/name = "movethem" +length = 4.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("base/circle:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 2 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( 0, 0 ), Vector2( 52.7569, -70.845 ) ] } +tracks/1/type = "value" +tracks/1/path = NodePath("base/box:transform/pos") +tracks/1/interp = 1 +tracks/1/keys = { "cont":true, "times":FloatArray( 0, 2 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( 193.173, -2.72076 ), Vector2( 195.894, -72.0999 ) ] } +tracks/2/type = "value" +tracks/2/path = NodePath("base/box:transform/rot") +tracks/2/interp = 1 +tracks/2/keys = { "cont":true, "times":FloatArray( 0, 2 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 92.8111 ] } +tracks/3/type = "value" +tracks/3/path = NodePath("base/polygon:transform/pos") +tracks/3/interp = 1 +tracks/3/keys = { "cont":true, "times":FloatArray( 0, 2 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( 382.265, -2.72076 ), Vector2( 495.176, -10.883 ) ] } + +[sub_resource type="Animation" id=8] + +resource/name = "toggletrigger" +length = 6.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("base/box:trigger") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 4 ), "transitions":FloatArray( 1, 1 ), "values":[ false, true ] } +tracks/1/type = "value" +tracks/1/path = NodePath("base/box:visibility/opacity") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0, 4 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.2 ] } + +[node name="base" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="base" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 137, 470 ) +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 7.91353, -10.6267 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 2 ) +shapes/1/transform = Matrix32( 0.970626, -0.240595, 0.240595, 0.970626, 193.581, -13.1276 ) +shapes/1/trigger = false +shapes/2/shape = SubResource( 3 ) +shapes/2/transform = Matrix32( 1, 0, 0, 1, 399.202, -3.9451 ) +shapes/2/trigger = false +shapes/3/shape = SubResource( 4 ) +shapes/3/transform = Matrix32( 1, 0, 0, 1, 399.202, -3.9451 ) +shapes/3/trigger = false +shapes/4/shape = SubResource( 5 ) +shapes/4/transform = Matrix32( 1, 0, 0, 1, 399.202, -3.9451 ) +shapes/4/trigger = false +shapes/5/shape = SubResource( 6 ) +shapes/5/transform = Matrix32( 1, 0, 0, 1, 399.202, -3.9451 ) +shapes/5/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.08 + +[node name="circle" type="CollisionShape2D" parent="base"] + +transform/pos = Vector2( 7.91353, -10.6267 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = 0 + +[node name="sprite" type="Sprite" parent="base/circle"] + +texture = ExtResource( 2 ) + +[node name="box" type="CollisionShape2D" parent="base"] + +transform/pos = Vector2( 193.581, -13.1276 ) +transform/rot = 13.9217 +shape = SubResource( 2 ) +trigger = false +_update_shape_index = 1 + +[node name="Sprite" type="Sprite" parent="base/box"] + +texture = ExtResource( 3 ) + +[node name="polygon" type="CollisionPolygon2D" parent="base"] + +transform/pos = Vector2( 399.202, -3.9451 ) +build_mode = 0 +polygon = Vector2Array( -55.093, -14.2052, -37.1739, 2.89948, -14.386, -14.0076, 18.6931, -1.51105, 49.5669, -27.9744, 45.1564, 15.3961, -6.30005, 0.694214, -40.1345, 21.2602, -53.3067, 15.8716 ) +shape_range = Vector2( 2, 5 ) +trigger = false + +[node name="Sprite" type="Sprite" parent="base/polygon"] + +texture = ExtResource( 4 ) + +[node name="shapemove" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/movethem = SubResource( 7 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "movethem" + +[node name="triggertoggle" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/movethem = SubResource( 7 ) +anims/toggletrigger = SubResource( 8 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "toggletrigger" + +[node name="Label" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 21.0 +margin/top = 21.0 +margin/right = 719.0 +margin/bottom = 73.0 +text = "This demo simply shows that it\'s possible now to move a CollisionShape and CollisionPolygon after it was created\nand also turn it into a trigger at run-time. CollisionShape will remain alive during the running game and you can\ninteract with them, even though they are just meant to be helpers.\nIt is always recommended in a real use-case scenario, to move a body instead of a shape, as that path is better optimized." +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/dynamic_collision_shapes/engine.cfg b/demos/2d/dynamic_collision_shapes/engine.cfg index 76a074f346..b1feb20408 100644 --- a/demos/2d/dynamic_collision_shapes/engine.cfg +++ b/demos/2d/dynamic_collision_shapes/engine.cfg @@ -1,5 +1,5 @@ [application] name="Run-Time CollisionShape" -main_scene="res://dynamic_colobjs.scn" +main_scene="res://dynamic_colobjs.tscn" icon="res://icon.png" diff --git a/demos/2d/fog_of_war/engine.cfg b/demos/2d/fog_of_war/engine.cfg index 1f56851c58..98e20c1e41 100644 --- a/demos/2d/fog_of_war/engine.cfg +++ b/demos/2d/fog_of_war/engine.cfg @@ -1,7 +1,7 @@ [application] name="Fog of War" -main_scene="res://fog.scn" +main_scene="res://fog.tscn" icon="res://icon.png" [input] diff --git a/demos/2d/fog_of_war/fog.scn b/demos/2d/fog_of_war/fog.scn Binary files differdeleted file mode 100644 index cf19601567..0000000000 --- a/demos/2d/fog_of_war/fog.scn +++ /dev/null diff --git a/demos/2d/fog_of_war/fog.tscn b/demos/2d/fog_of_war/fog.tscn new file mode 100644 index 0000000000..e86a23125c --- /dev/null +++ b/demos/2d/fog_of_war/fog.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://troll.tscn" type="PackedScene" id=2] +[ext_resource path="res://fog.gd" type="Script" id=3] + +[node name="Node2D" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] + +transform/pos = Vector2( 206, 112 ) +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 48, 48 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -589834, 2, -589833, 2, -589832, 2, -589831, 2, -589830, 2, -589829, 2, -589828, 2, -589827, 2, -589826, 2, -589825, 2, -655360, 2, -655359, 2, -655358, 2, -655357, 2, -655356, 2, -655355, 2, -655354, 2, -655353, 2, -655352, 2, -655351, 2, -524298, 2, -524297, 2, -524296, 2, -524295, 2, -524294, 2, -524293, 2, -524292, 2, -524291, 2, -524290, 2, -524289, 2, -589824, 2, -589823, 2, -589822, 2, -589821, 2, -589820, 2, -589819, 2, -589818, 2, -589817, 2, -589816, 2, -589815, 2, -458762, 2, -458761, 2, -458760, 2, -458759, 2, -458758, 2, -458757, 2, -458756, 2, -458755, 2, -458754, 2, -458753, 2, -524288, 2, -524287, 2, -524286, 2, -524285, 2, -524284, 2, -524283, 2, -524282, 2, -524281, 2, -524280, 2, -524279, 2, -393226, 2, -393225, 2, -393224, 2, -393223, 2, -393222, 2, -393221, 2, -393220, 2, -393219, 2, -393218, 2, -393217, 2, -458752, 2, -458751, 2, -458750, 2, -458749, 2, -458748, 2, -458747, 2, -458746, 2, -458745, 2, -458744, 2, -458743, 2, -327690, 2, -327689, 2, -327688, 2, -327687, 2, -327686, 2, -327685, 2, -327684, 2, -327683, 2, -327682, 2, -327681, 2, -393216, 2, -393215, 2, -393214, 2, -393213, 2, -393212, 2, -393211, 2, -393210, 2, -393209, 2, -393208, 2, -393207, 2, -262154, 2, -262153, 2, -262152, 2, -262151, 2, -262150, 2, -262149, 2, -262148, 2, -262147, 2, -262146, 2, -262145, 2, -327680, 2, -327679, 2, -327678, 2, -327677, 2, -327676, 2, -327675, 2, -327674, 2, -327673, 2, -327672, 2, -327671, 2, -196618, 2, -196617, 2, -196616, 2, -196615, 2, -196614, 2, -196613, 2, -196612, 2, -196611, 2, -196610, 2, -196609, 2, -262144, 2, -262143, 2, -262142, 2, -262141, 2, -262140, 2, -262139, 2, -262138, 2, -262137, 2, -262136, 2, -262135, 2, -131082, 2, -131081, 2, -131080, 2, -131079, 2, -131078, 2, -131077, 2, -131076, 2, -131075, 2, -131074, 2, -131073, 2, -196608, 2, -196607, 2, -196606, 2, -196605, 2, -196604, 2, -196603, 2, -196602, 2, -196601, 2, -196600, 2, -196599, 2, -65546, 2, -65545, 2, -65544, 2, -65543, 2, -65542, 2, -65541, 2, -65540, 2, -65539, 2, -65538, 2, -65537, 2, -131072, 2, -131071, 2, -131070, 2, -131069, 2, -131068, 2, -131067, 2, -131066, 2, -131065, 2, -131064, 2, -131063, 2, -10, 2, -9, 2, -8, 2, -7, 2, -6, 2, -5, 2, -4, 2, -3, 2, -2, 2, -1, 2, -65536, 2, -65535, 2, -65534, 2, -65533, 2, -65532, 2, -65531, 2, -65530, 2, -65529, 2, -65528, 2, -65527, 2, 65526, 2, 65527, 2, 65528, 2, 65529, 2, 65530, 2, 65531, 2, 65532, 2, 65533, 2, 65534, 2, 65535, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 131062, 2, 131063, 2, 131064, 2, 131065, 2, 131066, 2, 131067, 2, 131068, 2, 131069, 2, 131070, 2, 131071, 2, 65536, 2, 65537, 2, 65538, 2, 65539, 2, 65540, 2, 65541, 2, 65542, 2, 65543, 2, 65544, 2, 65545, 2, 196598, 2, 196599, 2, 196600, 2, 196601, 2, 196602, 2, 196603, 2, 196604, 2, 196605, 2, 196606, 2, 196607, 2, 131072, 2, 131073, 2, 131074, 2, 131075, 2, 131076, 2, 131077, 2, 131078, 2, 131079, 2, 131080, 2, 131081, 2, 262134, 2, 262135, 2, 262136, 2, 262137, 2, 262138, 2, 262139, 2, 262140, 2, 262141, 2, 262142, 2, 262143, 2, 196608, 2, 196609, 2, 196610, 2, 196611, 2, 196612, 2, 196613, 2, 196614, 2, 196615, 2, 196616, 2, 196617, 2, 327670, 2, 327671, 2, 327672, 2, 327673, 2, 327674, 2, 327675, 2, 327676, 2, 327677, 2, 327678, 2, 327679, 2, 262144, 2, 262145, 2, 262146, 2, 262147, 2, 262148, 2, 262149, 2, 262150, 2, 262151, 2, 262152, 2, 262153, 2, 393206, 2, 393207, 2, 393208, 2, 393209, 2, 393210, 2, 393211, 2, 393212, 2, 393213, 2, 393214, 2, 393215, 2, 327680, 2, 327681, 2, 327682, 2, 327683, 2, 327684, 2, 327685, 2, 327686, 2, 327687, 2, 327688, 2, 327689, 2, 458742, 2, 458743, 2, 458744, 2, 458745, 2, 458746, 2, 458747, 2, 458748, 2, 458749, 2, 458750, 2, 458751, 2, 393216, 2, 393217, 2, 393218, 2, 393219, 2, 393220, 2, 393221, 2, 393222, 2, 393223, 2, 393224, 2, 393225, 2, 524278, 2, 524279, 2, 524280, 2, 524281, 2, 524282, 2, 524283, 2, 524284, 2, 524285, 2, 524286, 2, 524287, 2, 458752, 2, 458753, 2, 458754, 2, 458755, 2, 458756, 2, 458757, 2, 458758, 2, 458759, 2, 458760, 2, 458761, 2, 589814, 2, 589815, 2, 589816, 2, 589817, 2, 589818, 2, 589819, 2, 589820, 2, 589821, 2, 589822, 2, 589823, 2, 524288, 2, 524289, 2, 524290, 2, 524291, 2, 524292, 2, 524293, 2, 524294, 2, 524295, 2, 524296, 2, 524297, 2, 655350, 2, 655351, 2, 655352, 2, 655353, 2, 655354, 2, 655355, 2, 655356, 2, 655357, 2, 655358, 2, 655359, 2, 589824, 2, 589825, 2, 589826, 2, 589827, 2, 589828, 2, 589829, 2, 589830, 2, 589831, 2, 589832, 2, 589833, 2 ) + +[node name="troll" parent="." instance=ExtResource( 2 )] + +collision/margin = 0.001 + +[node name="Fog" type="TileMap" parent="."] + +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 48, 48 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( ) +script/script = ExtResource( 3 ) + + diff --git a/demos/2d/fog_of_war/fog.xml b/demos/2d/fog_of_war/fog.xml deleted file mode 100644 index ed08d84a1f..0000000000 --- a/demos/2d/fog_of_war/fog.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="TileSet" subresource_count="3" version="1.0" version_name="Godot Engine v1.0.stable.custom_build"> - <ext_resource path="res://floor.png" type="Texture"></ext_resource> - <ext_resource path="res://fog.png" type="Texture"></ext_resource> - <main_resource> - <string name="0/name"> "fog opaque" </string> - <resource name="0/texture" resource_type="Texture" path="res://fog.png"> </resource> - <vector2 name="0/tex_offset"> -48, -48 </vector2> - <vector2 name="0/shape_offset"> 0, 0 </vector2> - <rect2 name="0/region"> 0, 0, 144, 144 </rect2> - <array name="0/shapes" len="0" shared="false"> - </array> - <string name="1/name"> "fog transparent" </string> - <resource name="1/texture" resource_type="Texture" path="res://fog.png"> </resource> - <vector2 name="1/tex_offset"> -48, -48 </vector2> - <vector2 name="1/shape_offset"> 0, 0 </vector2> - <rect2 name="1/region"> 144, 0, 144, 144 </rect2> - <array name="1/shapes" len="0" shared="false"> - </array> - <string name="2/name"> "floor" </string> - <resource name="2/texture" resource_type="Texture" path="res://floor.png"> </resource> - <vector2 name="2/tex_offset"> 0, 0 </vector2> - <vector2 name="2/shape_offset"> 0, 0 </vector2> - <rect2 name="2/region"> 0, 0, 0, 0 </rect2> - <array name="2/shapes" len="0" shared="false"> - </array> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/fog_of_war/tile_edit.scn b/demos/2d/fog_of_war/tile_edit.scn Binary files differdeleted file mode 100644 index 3eddf38e48..0000000000 --- a/demos/2d/fog_of_war/tile_edit.scn +++ /dev/null diff --git a/demos/2d/fog_of_war/tileset.tres b/demos/2d/fog_of_war/tileset.tres new file mode 100644 index 0000000000..c75ba8d5f2 --- /dev/null +++ b/demos/2d/fog_of_war/tileset.tres @@ -0,0 +1,32 @@ +[gd_resource type="TileSet" load_steps=3 format=1] + +[ext_resource path="res://fog.png" type="Texture" id=1] +[ext_resource path="res://floor.png" type="Texture" id=2] + +[resource] + +0/name = "fog opaque" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( -48, -48 ) +0/region = Rect2( 0, 0, 144, 144 ) +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shapes = [ ] +1/name = "fog transparent" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( -48, -48 ) +1/region = Rect2( 144, 0, 144, 144 ) +1/occluder_offset = Vector2( 0, 0 ) +1/navigation_offset = Vector2( 0, 0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shapes = [ ] +2/name = "floor" +2/texture = ExtResource( 2 ) +2/tex_offset = Vector2( 0, 0 ) +2/region = Rect2( 0, 0, 0, 0 ) +2/occluder_offset = Vector2( 24, 24 ) +2/navigation_offset = Vector2( 24, 24 ) +2/shape_offset = Vector2( 0, 0 ) +2/shapes = [ ] + diff --git a/demos/2d/fog_of_war/tileset_edit.tscn b/demos/2d/fog_of_war/tileset_edit.tscn new file mode 100644 index 0000000000..1573e9d05e --- /dev/null +++ b/demos/2d/fog_of_war/tileset_edit.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://fog.png" type="Texture" id=1] +[ext_resource path="res://floor.png" type="Texture" id=2] + +[node name="Node2D" type="Node2D"] + +[node name="fog opaque" type="Sprite" parent="."] + +texture = ExtResource( 1 ) +centered = false +offset = Vector2( -48, -48 ) +region = true +region_rect = Rect2( 0, 0, 144, 144 ) + +[node name="fog transparent" type="Sprite" parent="."] + +transform/pos = Vector2( 144, 0 ) +texture = ExtResource( 1 ) +centered = false +offset = Vector2( -48, -48 ) +region = true +region_rect = Rect2( 144, 0, 144, 144 ) + +[node name="floor" type="Sprite" parent="."] + +transform/pos = Vector2( 264, 24 ) +texture = ExtResource( 2 ) + + diff --git a/demos/2d/fog_of_war/troll.scn b/demos/2d/fog_of_war/troll.scn Binary files differdeleted file mode 100644 index ab9af17221..0000000000 --- a/demos/2d/fog_of_war/troll.scn +++ /dev/null diff --git a/demos/2d/fog_of_war/troll.tscn b/demos/2d/fog_of_war/troll.tscn new file mode 100644 index 0000000000..2dc8bdbf67 --- /dev/null +++ b/demos/2d/fog_of_war/troll.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://troll.gd" type="Script" id=1] +[ext_resource path="res://troll.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 16.0 + +[node name="troll" type="KinematicBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 3.24216, 19.453 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.001 +script/script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 3.24216, 19.453 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Camera2D" type="Camera2D" parent="."] + +anchor_mode = 1 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = -10000000 +limit/top = -10000000 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + + diff --git a/demos/2d/hdr/beach_cave.scn b/demos/2d/hdr/beach_cave.scn Binary files differdeleted file mode 100644 index 6a4108e7a5..0000000000 --- a/demos/2d/hdr/beach_cave.scn +++ /dev/null diff --git a/demos/2d/hdr/beach_cave.tscn b/demos/2d/hdr/beach_cave.tscn new file mode 100644 index 0000000000..f246ff1f42 --- /dev/null +++ b/demos/2d/hdr/beach_cave.tscn @@ -0,0 +1,88 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://beach_cave.gd" type="Script" id=1] +[ext_resource path="res://ocean_beach.png" type="Texture" id=2] +[ext_resource path="res://ocean_cave.png" type="Texture" id=3] + +[sub_resource type="Environment" id=1] + +ambient_light/enabled = false +ambient_light/color = Color( 0, 0, 0, 1 ) +ambient_light/energy = 1.0 +fxaa/enabled = false +background/mode = 5 +background/color = Color( 0, 0, 0, 1 ) +background/energy = 1.0 +background/scale = 1.0 +background/glow = 0.0 +background/canvas_max_layer = null +glow/enabled = true +glow/blur_passes = 3 +glow/blur_scale = 1.2 +glow/blur_strength = 1.2 +glow/blur_blend_mode = 0 +glow/bloom = 0.0 +glow/bloom_treshold = 0.5 +dof_blur/enabled = false +dof_blur/blur_passes = 1 +dof_blur/begin = 100.0 +dof_blur/range = 10.0 +hdr/enabled = true +hdr/tonemapper = 0.0 +hdr/exposure = 0.5 +hdr/white = 1.0 +hdr/glow_treshold = 0.7 +hdr/glow_scale = 0.5 +hdr/min_luminance = 0.3 +hdr/max_luminance = 8.0 +hdr/exposure_adj_speed = 2.0 +fog/enabled = false +fog/begin = 100.0 +fog/begin_color = Color( 0, 0, 0, 1 ) +fog/end_color = Color( 0, 0, 0, 1 ) +fog/attenuation = 1.0 +fog/bg = true +bcs/enabled = false +bcs/brightness = 1.0 +bcs/contrast = 1.0 +bcs/saturation = 1.0 +srgb/enabled = true + +[node name="hdr" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="beach" type="Sprite" parent="."] + +texture = ExtResource( 2 ) +centered = false +modulate = Color( 2, 2, 2, 1 ) + +[node name="cave" type="Sprite" parent="."] + +transform/scale = Vector2( 1.2, 1 ) +texture = ExtResource( 3 ) +centered = false +modulate = Color( 0.233166, 0.221219, 0.23582, 1 ) + +[node name="environment" type="WorldEnvironment" parent="."] + +_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) +environment = SubResource( 1 ) + +[node name="Label" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 13.0 +custom_colors/font_color = Color( 0.213955, 0.205626, 0.20313, 1 ) +text = "Drag Left and Right" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/hdr/engine.cfg b/demos/2d/hdr/engine.cfg index ab53a022f0..4bc2923574 100644 --- a/demos/2d/hdr/engine.cfg +++ b/demos/2d/hdr/engine.cfg @@ -1,7 +1,7 @@ [application] name="HDR for 2D" -main_scene="res://beach_cave.scn" +main_scene="res://beach_cave.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/hexamap/engine.cfg b/demos/2d/hexamap/engine.cfg index 4567af7a16..28043b0860 100644 --- a/demos/2d/hexamap/engine.cfg +++ b/demos/2d/hexamap/engine.cfg @@ -1,7 +1,7 @@ [application] name="Hexagonal Game" -main_scene="res://map.scn" +main_scene="res://map.tscn" icon="res://icon.png" [input] diff --git a/demos/2d/hexamap/map.scn b/demos/2d/hexamap/map.scn Binary files differdeleted file mode 100644 index de49527003..0000000000 --- a/demos/2d/hexamap/map.scn +++ /dev/null diff --git a/demos/2d/hexamap/map.tscn b/demos/2d/hexamap/map.tscn new file mode 100644 index 0000000000..3abda31bb0 --- /dev/null +++ b/demos/2d/hexamap/map.tscn @@ -0,0 +1,31 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://troll.tscn" type="PackedScene" id=2] + +[node name="Node2D" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] + +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 82, 94 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 1 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -458747, 1073741831, -393213, 1073741831, -393212, 1073741831, -393211, 6, -393210, 1073741831, -393209, 1073741830, -393208, 1073741830, -393207, 6, -393206, 8, -327679, 1073741831, -327678, 1073741831, -327677, 1073741831, -327676, 1073741830, -327675, 1073741831, -327674, 6, -327673, 6, -327672, 6, -327671, 6, -327670, 6, -327669, 0, -327668, 0, -262143, 1073741831, -262142, 1073741831, -262141, 6, -262140, 6, -262139, 0, -262138, 6, -262137, 1, -262136, 0, -262135, 1, -262134, 1, -262133, 0, -262132, 0, -262131, 0, -196608, 9, -196607, 1073741832, -196606, 1073741830, -196605, 2, -196604, 2, -196603, 1073741845, -196602, 21, -196601, 19, -196600, 1073741826, -196599, 0, -196598, 16, -196597, 0, -196596, 0, -196595, 0, -196594, 0, -196593, 0, -131071, 0, -131070, 1, -131069, 1073741827, -131068, 1073741846, -131067, 20, -131066, 19, -131065, 2, -131064, 0, -131063, 14, -131062, 0, -131061, 0, -131060, 0, -131059, 0, -131058, 0, -131057, 0, -131056, 0, -65534, 1, -65533, 2, -65532, 1073741827, -65531, 1, -65530, 1, -65529, 0, -65528, 10, -65527, 12, -65526, 0, -65525, 0, -65524, 0, -65523, 0, -65522, 0, -65521, 0, -65520, 0, 1, 0, 2, 0, 3, 2, 4, 1073741826, 5, 1, 6, 15, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 65537, 0, 65538, 1, 65539, 1610612749, 65540, 1, 65541, 0, 65542, 0, 65543, 0, 65544, 0, 65545, 1610612753, 65546, 0, 65547, 0, 65548, 0, 65549, 0, 65550, 1073741848, 65551, 1073741849, 65552, 0, 131073, 0, 131074, 0, 131075, 0, 131076, 0, 131077, 1610612751, 131078, 1610612752, 131079, 1610612752, 131080, 1610612751, 131081, 1610612751, 131082, 0, 131083, 0, 131084, 0, 131085, 0, 131086, 0, 196612, 0, 196613, 1610612751, 196614, 1610612752, 196615, 1610612751, 196616, 1610612751, 196617, 1073741839, 196618, 1073741839, 196619, 0, 196620, 0, 196621, 0, 262150, 0, 262152, 0, 262154, 0, 262156, 0 ) + +[node name="troll" parent="." instance=ExtResource( 2 )] + +transform/pos = Vector2( 602.819, -39.2876 ) +collision/margin = 0.001 + + diff --git a/demos/2d/hexamap/tiles.scn b/demos/2d/hexamap/tiles.scn Binary files differdeleted file mode 100644 index a019bbb92d..0000000000 --- a/demos/2d/hexamap/tiles.scn +++ /dev/null diff --git a/demos/2d/hexamap/tileset.res b/demos/2d/hexamap/tileset.res Binary files differdeleted file mode 100644 index 05d89316a2..0000000000 --- a/demos/2d/hexamap/tileset.res +++ /dev/null diff --git a/demos/2d/hexamap/tileset.tres b/demos/2d/hexamap/tileset.tres new file mode 100644 index 0000000000..4538202335 --- /dev/null +++ b/demos/2d/hexamap/tileset.tres @@ -0,0 +1,240 @@ +[gd_resource type="TileSet" load_steps=27 format=1] + +[ext_resource path="res://WWT-01.png" type="Texture" id=1] +[ext_resource path="res://WWT-02.png" type="Texture" id=2] +[ext_resource path="res://WWT-11.png" type="Texture" id=3] +[ext_resource path="res://WWT-12.png" type="Texture" id=4] +[ext_resource path="res://WWT-13.png" type="Texture" id=5] +[ext_resource path="res://WWT-14.png" type="Texture" id=6] +[ext_resource path="res://WWT-15.png" type="Texture" id=7] +[ext_resource path="res://WWT-16.png" type="Texture" id=8] +[ext_resource path="res://WWT-17.png" type="Texture" id=9] +[ext_resource path="res://WWT-18.png" type="Texture" id=10] +[ext_resource path="res://WWT-19.png" type="Texture" id=11] +[ext_resource path="res://WWT-20.png" type="Texture" id=12] +[ext_resource path="res://WWT-03.png" type="Texture" id=13] +[ext_resource path="res://WWT-21.png" type="Texture" id=14] +[ext_resource path="res://WWT-22.png" type="Texture" id=15] +[ext_resource path="res://WWT-23.png" type="Texture" id=16] +[ext_resource path="res://WWT-24.png" type="Texture" id=17] +[ext_resource path="res://WWT-25.png" type="Texture" id=18] +[ext_resource path="res://WWT-26.png" type="Texture" id=19] +[ext_resource path="res://WWT-04.png" type="Texture" id=20] +[ext_resource path="res://WWT-05.png" type="Texture" id=21] +[ext_resource path="res://WWT-06.png" type="Texture" id=22] +[ext_resource path="res://WWT-07.png" type="Texture" id=23] +[ext_resource path="res://WWT-08.png" type="Texture" id=24] +[ext_resource path="res://WWT-09.png" type="Texture" id=25] +[ext_resource path="res://WWT-10.png" type="Texture" id=26] + +[resource] + +0/name = "Tile 1" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( -24, -17 ) +0/region = Rect2( 0, 0, 0, 0 ) +0/occluder_offset = Vector2( -0, -0 ) +0/navigation_offset = Vector2( -0, -0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shapes = [ ] +1/name = "Tile 2" +1/texture = ExtResource( 2 ) +1/tex_offset = Vector2( -24, -17 ) +1/region = Rect2( 0, 0, 0, 0 ) +1/occluder_offset = Vector2( -0, -0 ) +1/navigation_offset = Vector2( -0, -0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shapes = [ ] +2/name = "Tile 3" +2/texture = ExtResource( 13 ) +2/tex_offset = Vector2( -24, -17 ) +2/region = Rect2( 0, 0, 0, 0 ) +2/occluder_offset = Vector2( -0, -0 ) +2/navigation_offset = Vector2( -0, -0 ) +2/shape_offset = Vector2( 0, 0 ) +2/shapes = [ ] +3/name = "Tile 4" +3/texture = ExtResource( 20 ) +3/tex_offset = Vector2( -24, -17 ) +3/region = Rect2( 0, 0, 0, 0 ) +3/occluder_offset = Vector2( -0, -0 ) +3/navigation_offset = Vector2( -0, -0 ) +3/shape_offset = Vector2( 0, 0 ) +3/shapes = [ ] +4/name = "Tile 5" +4/texture = ExtResource( 21 ) +4/tex_offset = Vector2( -24, -17 ) +4/region = Rect2( 0, 0, 0, 0 ) +4/occluder_offset = Vector2( -0, -0 ) +4/navigation_offset = Vector2( -0, -0 ) +4/shape_offset = Vector2( 0, 0 ) +4/shapes = [ ] +5/name = "Tile 6" +5/texture = ExtResource( 22 ) +5/tex_offset = Vector2( -24, -17 ) +5/region = Rect2( 0, 0, 0, 0 ) +5/occluder_offset = Vector2( -0, -0 ) +5/navigation_offset = Vector2( -0, -0 ) +5/shape_offset = Vector2( 0, 0 ) +5/shapes = [ ] +6/name = "Tile 7" +6/texture = ExtResource( 23 ) +6/tex_offset = Vector2( -24, -17 ) +6/region = Rect2( 0, 0, 0, 0 ) +6/occluder_offset = Vector2( -0, -0 ) +6/navigation_offset = Vector2( -0, -0 ) +6/shape_offset = Vector2( 0, 0 ) +6/shapes = [ ] +7/name = "Tile 8" +7/texture = ExtResource( 24 ) +7/tex_offset = Vector2( -24, -17 ) +7/region = Rect2( 0, 0, 0, 0 ) +7/occluder_offset = Vector2( -0, -0 ) +7/navigation_offset = Vector2( -0, -0 ) +7/shape_offset = Vector2( 0, 0 ) +7/shapes = [ ] +8/name = "Tile 9" +8/texture = ExtResource( 25 ) +8/tex_offset = Vector2( -24, -17 ) +8/region = Rect2( 0, 0, 0, 0 ) +8/occluder_offset = Vector2( -0, -0 ) +8/navigation_offset = Vector2( -0, -0 ) +8/shape_offset = Vector2( 0, 0 ) +8/shapes = [ ] +9/name = "Tile 10" +9/texture = ExtResource( 26 ) +9/tex_offset = Vector2( -24, -17 ) +9/region = Rect2( 0, 0, 0, 0 ) +9/occluder_offset = Vector2( -0, -0 ) +9/navigation_offset = Vector2( -0, -0 ) +9/shape_offset = Vector2( 0, 0 ) +9/shapes = [ ] +10/name = "Tile 11" +10/texture = ExtResource( 3 ) +10/tex_offset = Vector2( -24, -17 ) +10/region = Rect2( 0, 0, 0, 0 ) +10/occluder_offset = Vector2( -0, -0 ) +10/navigation_offset = Vector2( -0, -0 ) +10/shape_offset = Vector2( 0, 0 ) +10/shapes = [ ] +11/name = "Tile 12" +11/texture = ExtResource( 4 ) +11/tex_offset = Vector2( -24, -17 ) +11/region = Rect2( 0, 0, 0, 0 ) +11/occluder_offset = Vector2( -0, -0 ) +11/navigation_offset = Vector2( -0, -0 ) +11/shape_offset = Vector2( 0, 0 ) +11/shapes = [ ] +12/name = "Tile 13" +12/texture = ExtResource( 5 ) +12/tex_offset = Vector2( -24, -17 ) +12/region = Rect2( 0, 0, 0, 0 ) +12/occluder_offset = Vector2( -0, -0 ) +12/navigation_offset = Vector2( -0, -0 ) +12/shape_offset = Vector2( 0, 0 ) +12/shapes = [ ] +13/name = "Tile 14" +13/texture = ExtResource( 6 ) +13/tex_offset = Vector2( -24, -17 ) +13/region = Rect2( 0, 0, 0, 0 ) +13/occluder_offset = Vector2( -0, -0 ) +13/navigation_offset = Vector2( -0, -0 ) +13/shape_offset = Vector2( 0, 0 ) +13/shapes = [ ] +14/name = "Tile 15" +14/texture = ExtResource( 7 ) +14/tex_offset = Vector2( -24, -17 ) +14/region = Rect2( 0, 0, 0, 0 ) +14/occluder_offset = Vector2( -0, -0 ) +14/navigation_offset = Vector2( -0, -0 ) +14/shape_offset = Vector2( 0, 0 ) +14/shapes = [ ] +15/name = "Tile 16" +15/texture = ExtResource( 8 ) +15/tex_offset = Vector2( -24, -17 ) +15/region = Rect2( 0, 0, 0, 0 ) +15/occluder_offset = Vector2( -0, -0 ) +15/navigation_offset = Vector2( -0, -0 ) +15/shape_offset = Vector2( 0, 0 ) +15/shapes = [ ] +16/name = "Tile 17" +16/texture = ExtResource( 9 ) +16/tex_offset = Vector2( -24, -17 ) +16/region = Rect2( 0, 0, 0, 0 ) +16/occluder_offset = Vector2( -0, -0 ) +16/navigation_offset = Vector2( -0, -0 ) +16/shape_offset = Vector2( 0, 0 ) +16/shapes = [ ] +17/name = "Tile 18" +17/texture = ExtResource( 10 ) +17/tex_offset = Vector2( -24, -17 ) +17/region = Rect2( 0, 0, 0, 0 ) +17/occluder_offset = Vector2( -0, -0 ) +17/navigation_offset = Vector2( -0, -0 ) +17/shape_offset = Vector2( 0, 0 ) +17/shapes = [ ] +18/name = "Tile 19" +18/texture = ExtResource( 11 ) +18/tex_offset = Vector2( -24, -17 ) +18/region = Rect2( 0, 0, 0, 0 ) +18/occluder_offset = Vector2( -0, -0 ) +18/navigation_offset = Vector2( -0, -0 ) +18/shape_offset = Vector2( 0, 0 ) +18/shapes = [ ] +19/name = "Tile 20" +19/texture = ExtResource( 12 ) +19/tex_offset = Vector2( -24, -17 ) +19/region = Rect2( 0, 0, 0, 0 ) +19/occluder_offset = Vector2( -0, -0 ) +19/navigation_offset = Vector2( -0, -0 ) +19/shape_offset = Vector2( 0, 0 ) +19/shapes = [ ] +20/name = "Tile 21" +20/texture = ExtResource( 14 ) +20/tex_offset = Vector2( -24, -17 ) +20/region = Rect2( 0, 0, 0, 0 ) +20/occluder_offset = Vector2( -0, -0 ) +20/navigation_offset = Vector2( -0, -0 ) +20/shape_offset = Vector2( 0, 0 ) +20/shapes = [ ] +21/name = "Tile 22" +21/texture = ExtResource( 15 ) +21/tex_offset = Vector2( -24, -17 ) +21/region = Rect2( 0, 0, 0, 0 ) +21/occluder_offset = Vector2( -0, -0 ) +21/navigation_offset = Vector2( -0, -0 ) +21/shape_offset = Vector2( 0, 0 ) +21/shapes = [ ] +22/name = "Tile 23" +22/texture = ExtResource( 16 ) +22/tex_offset = Vector2( -24, -17 ) +22/region = Rect2( 0, 0, 0, 0 ) +22/occluder_offset = Vector2( -0, -0 ) +22/navigation_offset = Vector2( -0, -0 ) +22/shape_offset = Vector2( 0, 0 ) +22/shapes = [ ] +23/name = "Tile 24" +23/texture = ExtResource( 17 ) +23/tex_offset = Vector2( -24, -17 ) +23/region = Rect2( 0, 0, 0, 0 ) +23/occluder_offset = Vector2( -0, -0 ) +23/navigation_offset = Vector2( -0, -0 ) +23/shape_offset = Vector2( 0, 0 ) +23/shapes = [ ] +24/name = "Tile 25" +24/texture = ExtResource( 18 ) +24/tex_offset = Vector2( -24, -17 ) +24/region = Rect2( 0, 0, 0, 0 ) +24/occluder_offset = Vector2( -0, -0 ) +24/navigation_offset = Vector2( -0, -0 ) +24/shape_offset = Vector2( 0, 0 ) +24/shapes = [ ] +25/name = "Tile 26" +25/texture = ExtResource( 19 ) +25/tex_offset = Vector2( -24, -17 ) +25/region = Rect2( 0, 0, 0, 0 ) +25/occluder_offset = Vector2( -0, -0 ) +25/navigation_offset = Vector2( -0, -0 ) +25/shape_offset = Vector2( 0, 0 ) +25/shapes = [ ] + diff --git a/demos/2d/hexamap/tileset_edit.tscn b/demos/2d/hexamap/tileset_edit.tscn new file mode 100644 index 0000000000..d400d55fd0 --- /dev/null +++ b/demos/2d/hexamap/tileset_edit.tscn @@ -0,0 +1,214 @@ +[gd_scene load_steps=27 format=1] + +[ext_resource path="res://WWT-01.png" type="Texture" id=1] +[ext_resource path="res://WWT-02.png" type="Texture" id=2] +[ext_resource path="res://WWT-03.png" type="Texture" id=3] +[ext_resource path="res://WWT-04.png" type="Texture" id=4] +[ext_resource path="res://WWT-05.png" type="Texture" id=5] +[ext_resource path="res://WWT-06.png" type="Texture" id=6] +[ext_resource path="res://WWT-07.png" type="Texture" id=7] +[ext_resource path="res://WWT-08.png" type="Texture" id=8] +[ext_resource path="res://WWT-09.png" type="Texture" id=9] +[ext_resource path="res://WWT-10.png" type="Texture" id=10] +[ext_resource path="res://WWT-11.png" type="Texture" id=11] +[ext_resource path="res://WWT-12.png" type="Texture" id=12] +[ext_resource path="res://WWT-13.png" type="Texture" id=13] +[ext_resource path="res://WWT-14.png" type="Texture" id=14] +[ext_resource path="res://WWT-15.png" type="Texture" id=15] +[ext_resource path="res://WWT-16.png" type="Texture" id=16] +[ext_resource path="res://WWT-17.png" type="Texture" id=17] +[ext_resource path="res://WWT-18.png" type="Texture" id=18] +[ext_resource path="res://WWT-19.png" type="Texture" id=19] +[ext_resource path="res://WWT-20.png" type="Texture" id=20] +[ext_resource path="res://WWT-21.png" type="Texture" id=21] +[ext_resource path="res://WWT-22.png" type="Texture" id=22] +[ext_resource path="res://WWT-23.png" type="Texture" id=23] +[ext_resource path="res://WWT-24.png" type="Texture" id=24] +[ext_resource path="res://WWT-25.png" type="Texture" id=25] +[ext_resource path="res://WWT-26.png" type="Texture" id=26] + +[node name="Node2D" type="Node2D"] + +[node name="Tile 1" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 1 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 2" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 2 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 3" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 3 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 4" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 4 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 5" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 5 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 6" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 6 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 7" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 7 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 8" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 8 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 9" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 9 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 10" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 10 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 11" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 11 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 12" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 12 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 13" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 13 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 14" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 14 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 15" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 15 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 16" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 16 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 17" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 17 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 18" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 18 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 19" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 19 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 20" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 20 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 21" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 21 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 22" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 22 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 23" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 23 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 24" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 24 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 25" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 25 ) +centered = false +offset = Vector2( -24, -17 ) + +[node name="Tile 26" type="Sprite" parent="."] + +transform/pos = Vector2( 96.6174, 42.2665 ) +texture = ExtResource( 26 ) +centered = false +offset = Vector2( -24, -17 ) + + diff --git a/demos/2d/hexamap/troll.scn b/demos/2d/hexamap/troll.scn Binary files differdeleted file mode 100644 index 1f33dabf8e..0000000000 --- a/demos/2d/hexamap/troll.scn +++ /dev/null diff --git a/demos/2d/hexamap/troll.tscn b/demos/2d/hexamap/troll.tscn new file mode 100644 index 0000000000..2dc8bdbf67 --- /dev/null +++ b/demos/2d/hexamap/troll.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://troll.gd" type="Script" id=1] +[ext_resource path="res://troll.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 16.0 + +[node name="troll" type="KinematicBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 3.24216, 19.453 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.001 +script/script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 3.24216, 19.453 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Camera2D" type="Camera2D" parent="."] + +anchor_mode = 1 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = -10000000 +limit/top = -10000000 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + + diff --git a/demos/2d/isometric/bastiles.res b/demos/2d/isometric/bastiles.res Binary files differdeleted file mode 100644 index 50f3c78321..0000000000 --- a/demos/2d/isometric/bastiles.res +++ /dev/null diff --git a/demos/2d/isometric/dungeon.scn b/demos/2d/isometric/dungeon.scn Binary files differdeleted file mode 100644 index 8f0f316d73..0000000000 --- a/demos/2d/isometric/dungeon.scn +++ /dev/null diff --git a/demos/2d/isometric/dungeon.tscn b/demos/2d/isometric/dungeon.tscn new file mode 100644 index 0000000000..a9f4cfa1e3 --- /dev/null +++ b/demos/2d/isometric/dungeon.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://troll.tscn" type="PackedScene" id=2] + +[node name="dungeon" type="Node2D"] + +[node name="floor" type="TileMap" parent="."] + +mode = 1 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 128, 64 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 1 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -851956, 0, -851955, 0, -851954, 0, -786420, 1, -786419, 0, -786418, 0, -720884, 0, -720883, 0, -720882, 0, -655348, 1, -655347, 0, -655346, 0, -589812, 1, -589811, 0, -589810, 0, -524276, 0, -524275, 1, -524274, 0, -458740, 0, -458739, 0, -458738, 0, -393210, 0, -393209, 0, -393208, 0, -393207, 0, -393206, 0, -393205, 0, -393204, 0, -393203, 0, -393202, 0, -327674, 0, -327673, 0, -327672, 1, -327671, 1, -327670, 1, -327669, 1, -327668, 1, -327667, 0, -327666, 0, -262138, 0, -262137, 0, -262136, 0, -262135, 0, -262134, 0, -262133, 0, -262132, 0, -262131, 0, -262130, 0, -196602, 0, -196601, 0, -196600, 0, -196599, 0, -196598, 0, -196597, 0, -196596, 0, -196595, 0, -196594, 0, -131066, 0, -131065, 0, -131064, 0, -131063, 0, -65530, 0, -65529, 0, -65528, 0, -65527, 0, 6, 0, 7, 1, 8, 0, 9, 0, 65542, 0, 65543, 0, 65544, 0, 65545, 0, 131078, 0, 131079, 0, 131080, 0, 131081, 0, 196614, 0, 196615, 0, 196616, 0 ) + +[node name="walls" type="TileMap" parent="."] + +mode = 1 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 128, 64 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 1 +cell/y_sort = true +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -917493, 2, -917492, 2, -917491, 2, -917490, 2, -917489, 2, -851957, 2, -851956, 3, -851954, 3, -851953, 2, -786421, 2, -786420, 3, -786418, 3, -786417, 2, -720885, 2, -720881, 2, -655349, 2, -655348, 2, -655346, 3, -655345, 2, -589813, 2, -589809, 2, -524277, 2, -524273, 2, -458747, 2, -458746, 2, -458745, 2, -458744, 536870916, -458743, 536870916, -458742, 2, -458741, 2, -458740, 2, -458738, 2, -458737, 2, -393211, 2, -393209, 3, -393205, 3, -393201, 2, -327675, 4, -327665, 2, -262139, 4, -262134, 3, -262133, 3, -262129, 2, -196603, 2, -196601, 3, -196593, 2, -131067, 2, -131066, 3, -131062, 2, -131061, 2, -131060, 2, -131059, 2, -131058, 2, -131057, 2, -65531, 2, -65530, 2, -65527, 2, -65526, 2, 5, 2, 10, 2, 65541, 2, 65543, 3, 65546, 2, 131077, 2, 131082, 2, 196613, 2, 196618, 2, 262149, 2, 262150, 2, 262151, 2, 262152, 2, 262153, 2, 262154, 2 ) + +[node name="troll" parent="walls" instance=ExtResource( 2 )] + +transform/pos = Vector2( 299.38, 326.037 ) +collision/margin = 0.001 + + diff --git a/demos/2d/isometric/engine.cfg b/demos/2d/isometric/engine.cfg index 48f39826f9..4952b524a5 100644 --- a/demos/2d/isometric/engine.cfg +++ b/demos/2d/isometric/engine.cfg @@ -1,7 +1,7 @@ [application] name="Isometric Game" -main_scene="res://dungeon.scn" +main_scene="res://dungeon.tscn" icon="res://icon.png" [image_loader] diff --git a/demos/2d/isometric/tileset.scn b/demos/2d/isometric/tileset.scn Binary files differdeleted file mode 100644 index e487285f83..0000000000 --- a/demos/2d/isometric/tileset.scn +++ /dev/null diff --git a/demos/2d/isometric/tileset.tres b/demos/2d/isometric/tileset.tres new file mode 100644 index 0000000000..990ee01b65 --- /dev/null +++ b/demos/2d/isometric/tileset.tres @@ -0,0 +1,67 @@ +[gd_resource type="TileSet" load_steps=6 format=1] + +[ext_resource path="res://isotiles.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -68, 2, -4, -30, 60, 2, -4, 34 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -20, -6, -4, -22, 12, -22, 4, 10, -4, 10 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( 28, -6, 4, 10, 12, -22 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( 66.095, -0.62516, -5.90501, 31.3748, -21.905, 23.3748, 50.095, -8.62516 ) + +[resource] + +0/name = "base" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( -4, 6 ) +0/region = Rect2( 28, 92, 132, 84 ) +0/occluder_offset = Vector2( 66, 42 ) +0/navigation_offset = Vector2( 66, 42 ) +0/shape_offset = Vector2( 0, 0 ) +0/shapes = [ ] +1/name = "base2" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( -4, 6 ) +1/region = Rect2( 220, 92, 132, 84 ) +1/occluder_offset = Vector2( 66, 42 ) +1/navigation_offset = Vector2( 66, 42 ) +1/shape_offset = Vector2( 0, 0 ) +1/shapes = [ ] +2/name = "wall" +2/texture = ExtResource( 1 ) +2/tex_offset = Vector2( -4, -32 ) +2/region = Rect2( 28, 220, 132, 136 ) +2/occluder_offset = Vector2( 66, 68 ) +2/navigation_offset = Vector2( 66, 68 ) +2/shape_offset = Vector2( 66, 68 ) +2/shapes = [ SubResource( 1 ) ] +3/name = "column" +3/texture = ExtResource( 1 ) +3/tex_offset = Vector2( -2, -32 ) +3/region = Rect2( 220, 220, 132, 136 ) +3/occluder_offset = Vector2( 66, 68 ) +3/navigation_offset = Vector2( 66, 68 ) +3/shape_offset = Vector2( 66, 68 ) +3/shapes = [ SubResource( 2 ), SubResource( 3 ) ] +4/name = "door1" +4/texture = ExtResource( 1 ) +4/tex_offset = Vector2( 16, -22 ) +4/region = Rect2( 24, 408, 132, 136 ) +4/occluder_offset = Vector2( 66, 68 ) +4/navigation_offset = Vector2( 66, 68 ) +4/shape_offset = Vector2( 66, 68 ) +4/shapes = [ SubResource( 4 ) ] + diff --git a/demos/2d/isometric/tileset_edit.tscn b/demos/2d/isometric/tileset_edit.tscn new file mode 100644 index 0000000000..2c83c4b52e --- /dev/null +++ b/demos/2d/isometric/tileset_edit.tscn @@ -0,0 +1,130 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://isotiles.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -68, 2, -4, -30, 60, 2, -4, 34 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -20, -6, -4, -22, 12, -22, 4, 10, -4, 10 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( 28, -6, 4, 10, 12, -22 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( 66.095, -0.62516, -5.90501, 31.3748, -21.905, 23.3748, 50.095, -8.62516 ) + +[node name="Node2D" type="Node2D"] + +[node name="base" type="Sprite" parent="."] + +transform/pos = Vector2( 87.5658, 0.113792 ) +texture = ExtResource( 1 ) +offset = Vector2( -4, 6 ) +region = true +region_rect = Rect2( 28, 92, 132, 84 ) + +[node name="base2" type="Sprite" parent="."] + +transform/pos = Vector2( 196, 44 ) +texture = ExtResource( 1 ) +offset = Vector2( -4, 6 ) +region = true +region_rect = Rect2( 220, 92, 132, 84 ) + +[node name="wall" type="Sprite" parent="."] + +transform/pos = Vector2( 356, 70 ) +texture = ExtResource( 1 ) +offset = Vector2( -4, -32 ) +region = true +region_rect = Rect2( 28, 220, 132, 136 ) + +[node name="StaticBody2D" type="StaticBody2D" parent="wall"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="collision" type="CollisionPolygon2D" parent="wall/StaticBody2D"] + +build_mode = 0 +polygon = Vector2Array( -68, 2, -4, 34, 60, 2, -4, -30 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="column" type="Sprite" parent="."] + +transform/pos = Vector2( 292, 198 ) +texture = ExtResource( 1 ) +offset = Vector2( -2, -32 ) +region = true +region_rect = Rect2( 220, 220, 132, 136 ) + +[node name="StaticBody" type="StaticBody2D" parent="column"] + +input/pickable = false +shapes/0/shape = SubResource( 2 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 3 ) +shapes/1/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/1/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="column/StaticBody"] + +build_mode = 0 +polygon = Vector2Array( -20, -6, -4, 10, 4, 10, 28, -6, 12, -22, -4, -22 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="door1" type="Sprite" parent="."] + +transform/pos = Vector2( 85.905, 0.62516 ) +texture = ExtResource( 1 ) +offset = Vector2( 16, -22 ) +region = true +region_rect = Rect2( 24, 408, 132, 136 ) + +[node name="StaticBody2D" type="StaticBody2D" parent="door1"] + +input/pickable = false +shapes/0/shape = SubResource( 4 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="door1/StaticBody2D"] + +build_mode = 0 +polygon = Vector2Array( -5.90501, 31.3748, 66.095, -0.62516, 50.095, -8.62516, -21.905, 23.3748 ) +shape_range = Vector2( -1, -1 ) +trigger = false + + diff --git a/demos/2d/isometric/troll.scn b/demos/2d/isometric/troll.scn Binary files differdeleted file mode 100644 index d53aac4fbf..0000000000 --- a/demos/2d/isometric/troll.scn +++ /dev/null diff --git a/demos/2d/isometric/troll.tscn b/demos/2d/isometric/troll.tscn new file mode 100644 index 0000000000..00080ba07b --- /dev/null +++ b/demos/2d/isometric/troll.tscn @@ -0,0 +1,53 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://troll.gd" type="Script" id=1] +[ext_resource path="res://troll.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 16.0 + +[node name="troll" type="KinematicBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, -0.342697, -0.980721 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.001 +script/script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] + +transform/pos = Vector2( -3.94334, -36.924 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( -0.342697, -0.980721 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Camera2D" type="Camera2D" parent="."] + +anchor_mode = 1 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = -10000000 +limit/top = -10000000 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + + diff --git a/demos/2d/isometric_light/character_shader.tres b/demos/2d/isometric_light/character_shader.tres new file mode 100644 index 0000000000..8737e52e33 --- /dev/null +++ b/demos/2d/isometric_light/character_shader.tres @@ -0,0 +1,12 @@ +[gd_resource type="CanvasItemMaterial" load_steps=2 format=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"//there is no albedo (all shading is normal)\nuniform color col;\nCOLOR=col;\n//sample normal texture\nvec4 ntex = tex(TEXTURE,UV);\n//take the alpha from the normal texture\nCOLOR.a=ntex.a;\n//adjust normalmap from [0..1] to [-1..1]\nntex.rgb = ntex.rgb * vec3(-2,-2,1) - vec3(-1,-1,0);\n//half size of the tile \nvec2 tile_vec=vec2(47,22);\n//rotation to convert the normal to pseudo 3d coordinates\n//this could be optimized\nfloat r = asin(tile_vec.y / tile_vec.x);\nmat3 rot_mat = mat3( vec3(1,0,0), vec3(0,cos(r),-sin(r)), vec3(0,sin(r),cos(r)));\n\n//pass the normal\nNORMAL = rot_mat * ntex.rgb;\n\n\n\n\n", "fragment_ofs":0, "light":"//apply the normal as simple diffuse (same as default code)\nvec3 light_normal = normalize(vec3(LIGHT_VEC,-LIGHT_HEIGHT));\nLIGHT=LIGHT_COLOR*COLOR*max(dot(-light_normal,NORMAL),0.0);\n//substract light position to be always aligned to the bottom of the sprite\n//this makes lighting on it look like a billboard\nLIGHT_VEC.y-=VAR1.y;\n", "light_ofs":0, "vertex":"// pass the local sprite coordinates through a varying\n// the red cross in the sprite is the 0,0\nVAR1.xy=SRC_VERTEX;", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/col = Color( 1, 0.836638, 0.693806, 1 ) + diff --git a/demos/2d/isometric_light/character_shder.res b/demos/2d/isometric_light/character_shder.res Binary files differdeleted file mode 100644 index 17cd9ad287..0000000000 --- a/demos/2d/isometric_light/character_shder.res +++ /dev/null diff --git a/demos/2d/isometric_light/column.scn b/demos/2d/isometric_light/column.scn Binary files differdeleted file mode 100644 index 03f3c2c976..0000000000 --- a/demos/2d/isometric_light/column.scn +++ /dev/null diff --git a/demos/2d/isometric_light/column.tscn b/demos/2d/isometric_light/column.tscn new file mode 100644 index 0000000000..6693e39b85 --- /dev/null +++ b/demos/2d/isometric_light/column.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://wall_shader.tres" type="CanvasItemMaterial" id=1] +[ext_resource path="res://faceColor.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 20.0 + +[sub_resource type="OccluderPolygon2D" id=2] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -16.1183, 62.9508, 4.32091, 74.9223, 23.3002, 65.2867 ) + +[node name="column" type="StaticBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 1.36365, 7.83751 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="Sprite" type="Sprite" parent="."] + +material/material = ExtResource( 1 ) +transform/pos = Vector2( 0.487671, 0.487679 ) +texture = ExtResource( 2 ) +offset = Vector2( -4.37984, -50.8523 ) +region = true +region_rect = Rect2( 569, 179, 48, 154 ) + +[node name="occluder" type="LightOccluder2D" parent="."] + +transform/pos = Vector2( -3.90138, -50.97 ) +occluder = SubResource( 2 ) +light_mask = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 1.36365, 7.83751 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/isometric_light/cubio.gd b/demos/2d/isometric_light/cubio.gd index 508cd3728c..a26d5ae6fb 100644 --- a/demos/2d/isometric_light/cubio.gd +++ b/demos/2d/isometric_light/cubio.gd @@ -19,7 +19,7 @@ func _input(event): if (event.type == InputEvent.MOUSE_BUTTON and event.button_index == 1 and event.pressed and shoot_countdown <= 0): var pos = get_canvas_transform().affine_inverse()*event.pos var dir = (pos - get_global_pos()).normalized() - var bullet = preload("res://shoot.scn").instance() + var bullet = preload("res://shoot.tscn").instance() bullet.advance_dir = dir bullet.set_pos(get_global_pos() + dir*60) get_parent().add_child(bullet) diff --git a/demos/2d/isometric_light/cubio.scn b/demos/2d/isometric_light/cubio.scn Binary files differdeleted file mode 100644 index 55e2185247..0000000000 --- a/demos/2d/isometric_light/cubio.scn +++ /dev/null diff --git a/demos/2d/isometric_light/cubio.tscn b/demos/2d/isometric_light/cubio.tscn new file mode 100644 index 0000000000..164f4d3549 --- /dev/null +++ b/demos/2d/isometric_light/cubio.tscn @@ -0,0 +1,327 @@ +[gd_scene load_steps=173 format=1] + +[ext_resource path="res://cubio.gd" type="Script" id=1] +[ext_resource path="res://character_shader.tres" type="CanvasItemMaterial" id=2] +[ext_resource path="res://cubio/idle0001.png" type="Texture" id=3] +[ext_resource path="res://cubio/idle0002.png" type="Texture" id=4] +[ext_resource path="res://cubio/idle0003.png" type="Texture" id=5] +[ext_resource path="res://cubio/idle0004.png" type="Texture" id=6] +[ext_resource path="res://cubio/idle0005.png" type="Texture" id=7] +[ext_resource path="res://cubio/idle0006.png" type="Texture" id=8] +[ext_resource path="res://cubio/idle0007.png" type="Texture" id=9] +[ext_resource path="res://cubio/idle0008.png" type="Texture" id=10] +[ext_resource path="res://cubio/idle0009.png" type="Texture" id=11] +[ext_resource path="res://cubio/idle0010.png" type="Texture" id=12] +[ext_resource path="res://cubio/idle0011.png" type="Texture" id=13] +[ext_resource path="res://cubio/idle0012.png" type="Texture" id=14] +[ext_resource path="res://cubio/idle0013.png" type="Texture" id=15] +[ext_resource path="res://cubio/idle0014.png" type="Texture" id=16] +[ext_resource path="res://cubio/idle0015.png" type="Texture" id=17] +[ext_resource path="res://cubio/idle0016.png" type="Texture" id=18] +[ext_resource path="res://cubio/idle0017.png" type="Texture" id=19] +[ext_resource path="res://cubio/idle0018.png" type="Texture" id=20] +[ext_resource path="res://cubio/idle0019.png" type="Texture" id=21] +[ext_resource path="res://cubio/idle0020.png" type="Texture" id=22] +[ext_resource path="res://cubio/idle0021.png" type="Texture" id=23] +[ext_resource path="res://cubio/idle0022.png" type="Texture" id=24] +[ext_resource path="res://cubio/idle0023.png" type="Texture" id=25] +[ext_resource path="res://cubio/idle0024.png" type="Texture" id=26] +[ext_resource path="res://cubio/idle0025.png" type="Texture" id=27] +[ext_resource path="res://cubio/idle0026.png" type="Texture" id=28] +[ext_resource path="res://cubio/idle0027.png" type="Texture" id=29] +[ext_resource path="res://cubio/idle0028.png" type="Texture" id=30] +[ext_resource path="res://cubio/idle0029.png" type="Texture" id=31] +[ext_resource path="res://cubio/idle0030.png" type="Texture" id=32] +[ext_resource path="res://cubio/idle0031.png" type="Texture" id=33] +[ext_resource path="res://cubio/idle0032.png" type="Texture" id=34] +[ext_resource path="res://cubio/idle0033.png" type="Texture" id=35] +[ext_resource path="res://cubio/idle0034.png" type="Texture" id=36] +[ext_resource path="res://cubio/idle0035.png" type="Texture" id=37] +[ext_resource path="res://cubio/idle0036.png" type="Texture" id=38] +[ext_resource path="res://cubio/idle0037.png" type="Texture" id=39] +[ext_resource path="res://cubio/idle0038.png" type="Texture" id=40] +[ext_resource path="res://cubio/idle0039.png" type="Texture" id=41] +[ext_resource path="res://cubio/idle0040.png" type="Texture" id=42] +[ext_resource path="res://cubio/idle0041.png" type="Texture" id=43] +[ext_resource path="res://cubio/idle0042.png" type="Texture" id=44] +[ext_resource path="res://cubio/idle0043.png" type="Texture" id=45] +[ext_resource path="res://cubio/idle0044.png" type="Texture" id=46] +[ext_resource path="res://cubio/idle0045.png" type="Texture" id=47] +[ext_resource path="res://cubio/idle0046.png" type="Texture" id=48] +[ext_resource path="res://cubio/idle0047.png" type="Texture" id=49] +[ext_resource path="res://cubio/idle0048.png" type="Texture" id=50] +[ext_resource path="res://cubio/idle0049.png" type="Texture" id=51] +[ext_resource path="res://cubio/idle0050.png" type="Texture" id=52] +[ext_resource path="res://cubio/idle0051.png" type="Texture" id=53] +[ext_resource path="res://cubio/idle0052.png" type="Texture" id=54] +[ext_resource path="res://cubio/idle0053.png" type="Texture" id=55] +[ext_resource path="res://cubio/idle0054.png" type="Texture" id=56] +[ext_resource path="res://cubio/idle0055.png" type="Texture" id=57] +[ext_resource path="res://cubio/idle0056.png" type="Texture" id=58] +[ext_resource path="res://cubio/idle0057.png" type="Texture" id=59] +[ext_resource path="res://cubio/idle0058.png" type="Texture" id=60] +[ext_resource path="res://cubio/idle0059.png" type="Texture" id=61] +[ext_resource path="res://cubio/idle0060.png" type="Texture" id=62] +[ext_resource path="res://cubio/norm-b-0001.png" type="Texture" id=63] +[ext_resource path="res://cubio/norm-b-0002.png" type="Texture" id=64] +[ext_resource path="res://cubio/norm-b-0003.png" type="Texture" id=65] +[ext_resource path="res://cubio/norm-b-0004.png" type="Texture" id=66] +[ext_resource path="res://cubio/norm-b-0005.png" type="Texture" id=67] +[ext_resource path="res://cubio/norm-b-0006.png" type="Texture" id=68] +[ext_resource path="res://cubio/norm-b-0007.png" type="Texture" id=69] +[ext_resource path="res://cubio/norm-b-0008.png" type="Texture" id=70] +[ext_resource path="res://cubio/norm-b-0009.png" type="Texture" id=71] +[ext_resource path="res://cubio/norm-b-0010.png" type="Texture" id=72] +[ext_resource path="res://cubio/norm-b-0011.png" type="Texture" id=73] +[ext_resource path="res://cubio/norm-b-0012.png" type="Texture" id=74] +[ext_resource path="res://cubio/norm-b-0013.png" type="Texture" id=75] +[ext_resource path="res://cubio/norm-b-0014.png" type="Texture" id=76] +[ext_resource path="res://cubio/norm-b-0015.png" type="Texture" id=77] +[ext_resource path="res://cubio/norm-b-0016.png" type="Texture" id=78] +[ext_resource path="res://cubio/norm-b-0017.png" type="Texture" id=79] +[ext_resource path="res://cubio/norm-b-0018.png" type="Texture" id=80] +[ext_resource path="res://cubio/norm-b-0019.png" type="Texture" id=81] +[ext_resource path="res://cubio/norm-b-0020.png" type="Texture" id=82] +[ext_resource path="res://cubio/norm-bl-0001.png" type="Texture" id=83] +[ext_resource path="res://cubio/norm-bl-0002.png" type="Texture" id=84] +[ext_resource path="res://cubio/norm-bl-0003.png" type="Texture" id=85] +[ext_resource path="res://cubio/norm-bl-0004.png" type="Texture" id=86] +[ext_resource path="res://cubio/norm-bl-0005.png" type="Texture" id=87] +[ext_resource path="res://cubio/norm-bl-0006.png" type="Texture" id=88] +[ext_resource path="res://cubio/norm-bl-0007.png" type="Texture" id=89] +[ext_resource path="res://cubio/norm-bl-0008.png" type="Texture" id=90] +[ext_resource path="res://cubio/norm-bl-0009.png" type="Texture" id=91] +[ext_resource path="res://cubio/norm-bl-0010.png" type="Texture" id=92] +[ext_resource path="res://cubio/norm-bl-0011.png" type="Texture" id=93] +[ext_resource path="res://cubio/norm-bl-0012.png" type="Texture" id=94] +[ext_resource path="res://cubio/norm-bl-0013.png" type="Texture" id=95] +[ext_resource path="res://cubio/norm-bl-0014.png" type="Texture" id=96] +[ext_resource path="res://cubio/norm-bl-0015.png" type="Texture" id=97] +[ext_resource path="res://cubio/norm-bl-0016.png" type="Texture" id=98] +[ext_resource path="res://cubio/norm-bl-0017.png" type="Texture" id=99] +[ext_resource path="res://cubio/norm-bl-0018.png" type="Texture" id=100] +[ext_resource path="res://cubio/norm-bl-0019.png" type="Texture" id=101] +[ext_resource path="res://cubio/norm-bl-0020.png" type="Texture" id=102] +[ext_resource path="res://cubio/norm-l-0001.png" type="Texture" id=103] +[ext_resource path="res://cubio/norm-l-0002.png" type="Texture" id=104] +[ext_resource path="res://cubio/norm-l-0003.png" type="Texture" id=105] +[ext_resource path="res://cubio/norm-l-0004.png" type="Texture" id=106] +[ext_resource path="res://cubio/norm-l-0005.png" type="Texture" id=107] +[ext_resource path="res://cubio/norm-l-0006.png" type="Texture" id=108] +[ext_resource path="res://cubio/norm-l-0007.png" type="Texture" id=109] +[ext_resource path="res://cubio/norm-l-0008.png" type="Texture" id=110] +[ext_resource path="res://cubio/norm-l-0009.png" type="Texture" id=111] +[ext_resource path="res://cubio/norm-l-0010.png" type="Texture" id=112] +[ext_resource path="res://cubio/norm-l-0011.png" type="Texture" id=113] +[ext_resource path="res://cubio/norm-l-0012.png" type="Texture" id=114] +[ext_resource path="res://cubio/norm-l-0013.png" type="Texture" id=115] +[ext_resource path="res://cubio/norm-l-0014.png" type="Texture" id=116] +[ext_resource path="res://cubio/norm-l-0015.png" type="Texture" id=117] +[ext_resource path="res://cubio/norm-l-0016.png" type="Texture" id=118] +[ext_resource path="res://cubio/norm-l-0017.png" type="Texture" id=119] +[ext_resource path="res://cubio/norm-l-0018.png" type="Texture" id=120] +[ext_resource path="res://cubio/norm-l-0019.png" type="Texture" id=121] +[ext_resource path="res://cubio/norm-l-0020.png" type="Texture" id=122] +[ext_resource path="res://cubio/norm-u-0001.png" type="Texture" id=123] +[ext_resource path="res://cubio/norm-u-0002.png" type="Texture" id=124] +[ext_resource path="res://cubio/norm-u-0003.png" type="Texture" id=125] +[ext_resource path="res://cubio/norm-u-0004.png" type="Texture" id=126] +[ext_resource path="res://cubio/norm-u-0005.png" type="Texture" id=127] +[ext_resource path="res://cubio/norm-u-0006.png" type="Texture" id=128] +[ext_resource path="res://cubio/norm-u-0007.png" type="Texture" id=129] +[ext_resource path="res://cubio/norm-u-0008.png" type="Texture" id=130] +[ext_resource path="res://cubio/norm-u-0009.png" type="Texture" id=131] +[ext_resource path="res://cubio/norm-u-0010.png" type="Texture" id=132] +[ext_resource path="res://cubio/norm-u-0011.png" type="Texture" id=133] +[ext_resource path="res://cubio/norm-u-0012.png" type="Texture" id=134] +[ext_resource path="res://cubio/norm-u-0013.png" type="Texture" id=135] +[ext_resource path="res://cubio/norm-u-0014.png" type="Texture" id=136] +[ext_resource path="res://cubio/norm-u-0015.png" type="Texture" id=137] +[ext_resource path="res://cubio/norm-u-0016.png" type="Texture" id=138] +[ext_resource path="res://cubio/norm-u-0017.png" type="Texture" id=139] +[ext_resource path="res://cubio/norm-u-0018.png" type="Texture" id=140] +[ext_resource path="res://cubio/norm-u-0019.png" type="Texture" id=141] +[ext_resource path="res://cubio/norm-u-0020.png" type="Texture" id=142] +[ext_resource path="res://cubio/norm-ul-0001.png" type="Texture" id=143] +[ext_resource path="res://cubio/norm-ul-0002.png" type="Texture" id=144] +[ext_resource path="res://cubio/norm-ul-0003.png" type="Texture" id=145] +[ext_resource path="res://cubio/norm-ul-0004.png" type="Texture" id=146] +[ext_resource path="res://cubio/norm-ul-0005.png" type="Texture" id=147] +[ext_resource path="res://cubio/norm-ul-0006.png" type="Texture" id=148] +[ext_resource path="res://cubio/norm-ul-0007.png" type="Texture" id=149] +[ext_resource path="res://cubio/norm-ul-0008.png" type="Texture" id=150] +[ext_resource path="res://cubio/norm-ul-0009.png" type="Texture" id=151] +[ext_resource path="res://cubio/norm-ul-0010.png" type="Texture" id=152] +[ext_resource path="res://cubio/norm-ul-0011.png" type="Texture" id=153] +[ext_resource path="res://cubio/norm-ul-0012.png" type="Texture" id=154] +[ext_resource path="res://cubio/norm-ul-0013.png" type="Texture" id=155] +[ext_resource path="res://cubio/norm-ul-0014.png" type="Texture" id=156] +[ext_resource path="res://cubio/norm-ul-0015.png" type="Texture" id=157] +[ext_resource path="res://cubio/norm-ul-0016.png" type="Texture" id=158] +[ext_resource path="res://cubio/norm-ul-0017.png" type="Texture" id=159] +[ext_resource path="res://cubio/norm-ul-0018.png" type="Texture" id=160] +[ext_resource path="res://cubio/norm-ul-0019.png" type="Texture" id=161] +[ext_resource path="res://cubio/norm-ul-0020.png" type="Texture" id=162] +[ext_resource path="res://light2.png" type="Texture" id=163] +[ext_resource path="res://shadow_blob.png" type="Texture" id=164] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 20.0 + +[sub_resource type="SpriteFrames" id=2] + +frames = [ ExtResource( 3 ), ExtResource( 4 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 9 ), ExtResource( 10 ), ExtResource( 11 ), ExtResource( 12 ), ExtResource( 13 ), ExtResource( 14 ), ExtResource( 15 ), ExtResource( 16 ), ExtResource( 17 ), ExtResource( 18 ), ExtResource( 19 ), ExtResource( 20 ), ExtResource( 21 ), ExtResource( 22 ), ExtResource( 23 ), ExtResource( 24 ), ExtResource( 25 ), ExtResource( 26 ), ExtResource( 27 ), ExtResource( 28 ), ExtResource( 29 ), ExtResource( 30 ), ExtResource( 31 ), ExtResource( 32 ), ExtResource( 33 ), ExtResource( 34 ), ExtResource( 35 ), ExtResource( 36 ), ExtResource( 37 ), ExtResource( 38 ), ExtResource( 39 ), ExtResource( 40 ), ExtResource( 41 ), ExtResource( 42 ), ExtResource( 43 ), ExtResource( 44 ), ExtResource( 45 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 48 ), ExtResource( 49 ), ExtResource( 50 ), ExtResource( 51 ), ExtResource( 52 ), ExtResource( 53 ), ExtResource( 54 ), ExtResource( 55 ), ExtResource( 56 ), ExtResource( 57 ), ExtResource( 58 ), ExtResource( 59 ), ExtResource( 60 ), ExtResource( 61 ), ExtResource( 62 ), ExtResource( 63 ), ExtResource( 64 ), ExtResource( 65 ), ExtResource( 66 ), ExtResource( 67 ), ExtResource( 68 ), ExtResource( 69 ), ExtResource( 70 ), ExtResource( 71 ), ExtResource( 72 ), ExtResource( 73 ), ExtResource( 74 ), ExtResource( 75 ), ExtResource( 76 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 79 ), ExtResource( 80 ), ExtResource( 81 ), ExtResource( 82 ), ExtResource( 83 ), ExtResource( 84 ), ExtResource( 85 ), ExtResource( 86 ), ExtResource( 87 ), ExtResource( 88 ), ExtResource( 89 ), ExtResource( 90 ), ExtResource( 91 ), ExtResource( 92 ), ExtResource( 93 ), ExtResource( 94 ), ExtResource( 95 ), ExtResource( 96 ), ExtResource( 97 ), ExtResource( 98 ), ExtResource( 99 ), ExtResource( 100 ), ExtResource( 101 ), ExtResource( 102 ), ExtResource( 103 ), ExtResource( 104 ), ExtResource( 105 ), ExtResource( 106 ), ExtResource( 107 ), ExtResource( 108 ), ExtResource( 109 ), ExtResource( 110 ), ExtResource( 111 ), ExtResource( 112 ), ExtResource( 113 ), ExtResource( 114 ), ExtResource( 115 ), ExtResource( 116 ), ExtResource( 117 ), ExtResource( 118 ), ExtResource( 119 ), ExtResource( 120 ), ExtResource( 121 ), ExtResource( 122 ), ExtResource( 123 ), ExtResource( 124 ), ExtResource( 125 ), ExtResource( 126 ), ExtResource( 127 ), ExtResource( 128 ), ExtResource( 129 ), ExtResource( 130 ), ExtResource( 131 ), ExtResource( 132 ), ExtResource( 133 ), ExtResource( 134 ), ExtResource( 135 ), ExtResource( 136 ), ExtResource( 137 ), ExtResource( 138 ), ExtResource( 139 ), ExtResource( 140 ), ExtResource( 141 ), ExtResource( 142 ), ExtResource( 143 ), ExtResource( 144 ), ExtResource( 145 ), ExtResource( 146 ), ExtResource( 147 ), ExtResource( 148 ), ExtResource( 149 ), ExtResource( 150 ), ExtResource( 151 ), ExtResource( 152 ), ExtResource( 153 ), ExtResource( 154 ), ExtResource( 155 ), ExtResource( 156 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 159 ), ExtResource( 160 ), ExtResource( 161 ), ExtResource( 162 ) ] + +[sub_resource type="Animation" id=3] + +resource/name = "bottom" +length = 0.95 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("frames:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79 ] } + +[sub_resource type="Animation" id=4] + +length = 0.95 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("frames:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 ] } + +[sub_resource type="Animation" id=5] + +length = 3.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("frames:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65, 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 55, 56, 57, 58, 59 ] } + +[sub_resource type="Animation" id=6] + +length = 0.95 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("frames:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119 ] } + +[sub_resource type="Animation" id=7] + +length = 0.95 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("frames:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139 ] } + +[sub_resource type="Animation" id=8] + +length = 0.95 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("frames:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159 ] } + +[node name="cubio" type="KinematicBody2D"] + +visibility/light_mask = 2 +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, -0.397217, -9.30363 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.08 +script/script = ExtResource( 1 ) + +[node name="frames" type="AnimatedSprite" parent="."] + +material/material = ExtResource( 2 ) +frames = SubResource( 2 ) +frame = 140 +offset = Vector2( 0.397217, -52.4323 ) + +[node name="shape" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( -0.397217, -9.30363 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="camera" type="Camera2D" parent="."] + +anchor_mode = 1 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = -10000000 +limit/top = -10000000 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/bottom = SubResource( 3 ) +anims/bottom_left = SubResource( 4 ) +anims/idle = SubResource( 5 ) +anims/left = SubResource( 6 ) +anims/top = SubResource( 7 ) +anims/top_left = SubResource( 8 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "idle" + +[node name="Light2D" type="Light2D" parent="."] + +transform/pos = Vector2( -0.140442, 2.64355 ) +enabled = true +texture = ExtResource( 163 ) +offset = Vector2( 0, 0 ) +scale = 8.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 0 +range/height = 100.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 3 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="Sprite" type="Sprite" parent="."] + +visibility/opacity = 0.3 +texture = ExtResource( 164 ) +offset = Vector2( 0, -5.72164 ) + + diff --git a/demos/2d/isometric_light/engine.cfg b/demos/2d/isometric_light/engine.cfg index a5b053aa95..e653d4750e 100644 --- a/demos/2d/isometric_light/engine.cfg +++ b/demos/2d/isometric_light/engine.cfg @@ -1,7 +1,7 @@ [application] name="Isometric 2D + Lighting" -main_scene="res://map.scn" +main_scene="res://map.tscn" icon="res://icon.png" [input] diff --git a/demos/2d/isometric_light/floor_shader.res b/demos/2d/isometric_light/floor_shader.res Binary files differdeleted file mode 100644 index c078d27b97..0000000000 --- a/demos/2d/isometric_light/floor_shader.res +++ /dev/null diff --git a/demos/2d/isometric_light/floor_shader.tres b/demos/2d/isometric_light/floor_shader.tres new file mode 100644 index 0000000000..e8f616cf1f --- /dev/null +++ b/demos/2d/isometric_light/floor_shader.tres @@ -0,0 +1,14 @@ +[gd_resource type="CanvasItemMaterial" load_steps=3 format=1] + +[ext_resource path="res://faceNormal.png" type="Texture" id=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"// just pass the normal\n\nuniform texture normal;\nvec2 ywnormal=tex( normal,UV).wy * vec2(2.0,2.0) - vec2(1.0,1.0);\nNORMAL=vec3(ywnormal,sqrt(1 - (ywnormal.x * ywnormal.x) - (ywnormal.y * ywnormal.y) ));\n\n", "fragment_ofs":0, "light":"//the tile half size in pixels\nvec2 tile_vec=vec2(140,70);\nfloat z_scale = 1.0;\n//compute a 3D postion fot thelight\nvec3 light_3d = vec3(-LIGHT_VEC.x,LIGHT_HEIGHT,LIGHT_VEC.y);\n\n//rotate the normal map to the same coordinates as the pseudo 3d ponit\n//this could be optimized\nfloat r = asin(tile_vec.y/tile_vec.x);\nmat3 rot_mat = mat3( vec3(1,0,0), vec3(0,cos(r),-sin(r)), vec3(0,sin(r),cos(r)));\nvec3 n = rot_mat * NORMAL;\nn.y=-n.y;\n\n//compute diffuse light\nfloat dp = max(dot(normalize(n),-normalize(light_3d)),0);\nLIGHT=vec4(vec3(dp),1.0)*COLOR*LIGHT_COLOR;\n", "light_ofs":0, "vertex":"//pass the x1 in local sprite coordinates.\n//the sprite center (small red cross) is 0,0\nVAR1.xy=SRC_VERTEX;", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normal = ExtResource( 1 ) + diff --git a/demos/2d/isometric_light/map.scn b/demos/2d/isometric_light/map.scn Binary files differdeleted file mode 100644 index da3fc5654f..0000000000 --- a/demos/2d/isometric_light/map.scn +++ /dev/null diff --git a/demos/2d/isometric_light/map.tscn b/demos/2d/isometric_light/map.tscn new file mode 100644 index 0000000000..3c65f9ecfc --- /dev/null +++ b/demos/2d/isometric_light/map.tscn @@ -0,0 +1,261 @@ +[gd_scene load_steps=10 format=1] + +[ext_resource path="res://map.gd" type="Script" id=1] +[ext_resource path="res://tileset.tres" type="TileSet" id=2] +[ext_resource path="res://cubio.tscn" type="PackedScene" id=3] +[ext_resource path="res://torch.tscn" type="PackedScene" id=4] +[ext_resource path="res://column.tscn" type="PackedScene" id=5] +[ext_resource path="res://cubio/idle0001.png" type="Texture" id=6] +[ext_resource path="res://light2.png" type="Texture" id=7] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 100.0 + +[sub_resource type="CanvasItemMaterial" id=2] + +shader/shading_mode = 1 + +[node name="node" type="Node2D"] + +transform/pos = Vector2( -0.735077, -20.5826 ) +script/script = ExtResource( 1 ) + +[node name="floor_map" type="TileMap" parent="."] + +mode = 1 +tile_set = ExtResource( 2 ) +cell/size = Vector2( 192, 88 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 1 +cell/y_sort = true +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -1900531, 0, -1900530, 1, -1900529, 0, -1900528, 0, -1900527, 0, -1834995, 0, -1834994, 0, -1834993, 0, -1834992, 1, -1834991, 0, -1769459, 0, -1769458, 0, -1769457, 0, -1769456, 1, -1769455, 0, -1703923, 0, -1703922, 0, -1703921, 0, -1703920, 0, -1703919, 1, -1638387, 0, -1638386, 0, -1638385, 0, -1638384, 0, -1638383, 0, -1572855, 0, -1572854, 0, -1572853, 0, -1572852, 0, -1572851, 0, -1572850, 0, -1572849, 1, -1572848, 0, -1572847, 0, -1507319, 0, -1507318, 0, -1507317, 0, -1507316, 0, -1507315, 1, -1507314, 1, -1507313, 1, -1507312, 0, -1507311, 0, -1441783, 0, -1441782, 0, -1441781, 0, -1441780, 0, -1441779, 0, -1441778, 0, -1441777, 0, -1441776, 0, -1441775, 0, -1376247, 0, -1376246, 0, -1376245, 0, -1376244, 0, -1310711, 1, -1310710, 0, -1310709, 0, -1310708, 0, -1245175, 0, -1245174, 0, -1245173, 0, -1245172, 0, -1179639, 0, -1179638, 0, -1179637, 1, -1179636, 0, -1114103, 0, -1114102, 0, -1114101, 0, -1114100, 0, -1048567, 0, -1048566, 0, -1048565, 0, -1048564, 0, -983031, 0, -983030, 0, -983029, 0, -983028, 0, -917495, 0, -917494, 1, -917493, 1, -917492, 0, -851959, 0, -851958, 0, -851957, 0, -851956, 0, -786423, 0, -786422, 0, -786421, 0, -786420, 0, -720894, 0, -720893, 0, -720892, 0, -720891, 0, -720890, 0, -720889, 0, -720888, 0, -720887, 0, -720886, 0, -720885, 0, -720884, 0, -720883, 0, -720882, 0, -720881, 0, -655358, 0, -655357, 0, -655356, 0, -655355, 0, -655354, 0, -655353, 0, -655352, 0, -655351, 0, -655350, 0, -655349, 0, -655348, 0, -655347, 0, -655346, 0, -655345, 0, -589822, 0, -589821, 0, -589820, 0, -589819, 0, -589818, 0, -589817, 0, -589816, 0, -589815, 0, -589814, 0, -589813, 0, -589812, 0, -589811, 0, -589810, 0, -589809, 0, -524286, 0, -524285, 0, -524284, 1, -524283, 0, -524282, 0, -524281, 0, -524280, 0, -524279, 1, -524278, 1, -524277, 1, -524276, 1, -524275, 0, -524274, 0, -524273, 0, -458750, 0, -458749, 0, -458748, 1, -458747, 0, -458746, 0, -458745, 0, -458744, 0, -458743, 0, -458742, 0, -458741, 0, -458740, 0, -458739, 0, -458738, 1, -458737, 0, -393214, 0, -393213, 0, -393212, 0, -393211, 0, -393210, 0, -393209, 0, -393208, 0, -393207, 0, -393206, 0, -393205, 0, -393204, 0, -393203, 0, -393202, 0, -393201, 0, -262149, 0, -262148, 0, -262147, 0, -262146, 0, -262145, 0, -327680, 0, -327679, 0, -327678, 0, -327677, 0, -327676, 0, -327675, 0, -196613, 0, -196612, 0, -196611, 0, -196610, 0, -196609, 0, -262144, 0, -262143, 0, -262142, 0, -262141, 0, -262140, 0, -262139, 0, -131077, 0, -131076, 0, -131075, 0, -131074, 0, -131073, 0, -196608, 0, -196607, 0, -196606, 0, -196605, 0, -196604, 0, -196603, 0, -65541, 0, -65540, 0, -65539, 0, -65538, 0, -65537, 0, -131072, 0, -131071, 0, -131070, 0, -131069, 1, -131068, 0, -131067, 0, -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, -65536, 0, -65535, 0, -65534, 0, -65533, 0, -65532, 1, -65531, 0, 65531, 0, 65532, 1, 65533, 0, 65534, 0, 65535, 1, 0, 0, 1, 0, 2, 0, 3, 0, 4, 1, 5, 0, 131067, 0, 131068, 1, 131069, 0, 131070, 0, 131071, 0, 65536, 0, 65537, 0, 65538, 0, 65539, 0, 65540, 0, 65541, 0, 196603, 0, 196604, 0, 196605, 0, 196606, 1, 196607, 0, 131072, 0, 131073, 0, 131074, 0, 131075, 0, 131076, 1, 131077, 0, 262139, 0, 262140, 0, 262141, 0, 262142, 0, 262143, 0, 196608, 0, 196609, 0, 196610, 0, 196611, 0, 196612, 0, 196613, 0, 327676, 0, 327677, 0, 327678, 0, 327679, 0, 262144, 0, 262145, 0, 262146, 0, 262147, 0, 262148, 0, 262149, 0 ) + +[node name="wall_map" type="TileMap" parent="."] + +mode = 1 +tile_set = ExtResource( 2 ) +cell/size = Vector2( 94, 43 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 1 +cell/y_sort = true +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( -3801060, 5, -3801059, 10, -3801058, 10, -3801057, 10, -3801056, 10, -3801055, 10, -3801054, 10, -3801053, 10, -3801052, 536870916, -3735524, 9, -3735516, 7, -3669988, 9, -3669980, 7, -3604452, 9, -3604444, 7, -3538916, 9, -3538908, 7, -3473380, 9, -3473372, 7, -3407844, 9, -3407836, 7, -3342308, 9, -3342300, 7, -3276772, 9, -3276764, 7, -3211236, 9, -3211228, 7, -3145709, 5, -3145708, 10, -3145707, 10, -3145706, 10, -3145705, 10, -3145704, 10, -3145703, 10, -3145702, 10, -3145701, 10, -3145692, 7, -3080173, 9, -3080156, 7, -3014637, 9, -3014634, 2, -3014620, 7, -2949101, 2, -2949084, 7, -2883565, 9, -2883558, 8, -2883557, 8, -2883556, 8, -2883555, 8, -2883554, 8, -2883553, 8, -2883552, 8, -2883551, 8, -2883550, 8, -2883549, 8, -2883548, 6, -2818029, 9, -2818023, 7, -2752493, 9, -2752487, 7, -2686957, 9, -2686955, 2, -2686951, 7, -2621421, 9, -2621415, 7, -2555885, 9, -2555879, 2, -2490349, 2, -2490343, 7, -2424813, 9, -2424807, 7, -2359277, 9, -2359274, 2, -2359271, 7, -2293741, 9, -2293735, 7, -2228205, 4, -2228199, 7, -2162669, 9, -2162668, 10, -2162667, 536870916, -2162663, 7, -2097133, 8, -2097132, 8, -2097131, 6, -2097127, 7, -2031597, 9, -2031591, 7, -1966061, 9, -1966055, 7, -1900525, 9, -1900519, 7, -1834989, 9, -1834986, 8, -1834985, 8, -1834984, 8, -1834983, 7, -1769453, 9, -1769450, 7, -1769447, 7, -1703917, 9, -1703916, 8, -1703915, 8, -1703914, 8, -1703911, 7, -1638381, 9, -1638375, 7, -1572845, 9, -1572839, 7, -1507309, 9, -1507303, 7, -1441787, 5, -1441786, 10, -1441785, 10, -1441784, 10, -1441783, 10, -1441782, 10, -1441781, 10, -1441780, 10, -1441779, 10, -1441778, 10, -1441777, 10, -1441776, 10, -1441775, 10, -1441774, 10, -1441766, 10, -1441765, 10, -1441764, 10, -1441763, 10, -1441762, 10, -1441761, 536870916, -1376251, 9, -1376225, 7, -1310715, 9, -1310689, 7, -1245179, 9, -1245153, 7, -1179643, 9, -1179617, 7, -1114107, 9, -1114081, 7, -1048571, 9, -1048545, 7, -983035, 9, -983009, 7, -917499, 9, -917473, 7, -851963, 9, -851937, 7, -786427, 9, -786401, 7, -720891, 9, -720884, 8, -720883, 8, -720882, 8, -720881, 8, -720880, 8, -720879, 8, -720878, 8, -720877, 8, -720876, 8, -720875, 8, -720874, 8, -720873, 8, -720872, 8, -720871, 8, -720870, 8, -720869, 8, -720868, 8, -720867, 8, -720866, 8, -720865, 6, -589834, 5, -589833, 10, -589832, 10, -589831, 10, -589830, 10, -589829, 10, -589828, 10, -589827, 10, -589826, 10, -589825, 10, -655360, 10, -655359, 10, -655358, 10, -655357, 10, -655356, 10, -655349, 7, -524298, 9, -589813, 7, -458762, 9, -524277, 7, -393226, 9, -458741, 7, -327690, 9, -393205, 7, -262154, 9, -262150, 5, -262149, 10, -262148, 10, -262147, 10, -262146, 10, -262145, 10, -327680, 10, -327679, 10, -327678, 10, -327677, 10, -327676, 3, -327669, 7, -196618, 9, -196614, 9, -262140, 7, -262133, 7, -131082, 9, -131078, 9, -196604, 7, -196597, 7, -65546, 9, -65542, 9, -131068, 7, -131061, 7, -10, 9, -6, 4, -5, 8, -4, 8, -3, 8, -2, 8, -65535, 8, -65534, 8, -65533, 8, -65532, 6, -65525, 7, 65526, 9, 11, 7, 131062, 9, 65547, 7, 196598, 9, 131083, 7, 262134, 9, 196619, 7, 327670, 9, 262155, 7, 393206, 9, 327691, 7, 458742, 9, 393227, 7, 524278, 4, 524279, 8, 458763, 7, 589816, 9, 524299, 7, 655352, 4, 655353, 8, 655354, 8, 655355, 8, 655356, 8, 655357, 8, 655358, 8, 655359, 8, 589824, 8, 589825, 8, 589826, 8, 589827, 8, 589828, 8, 589829, 8, 589830, 8, 589831, 8, 589832, 8, 589833, 8, 589834, 8, 589835, 6 ) +__meta__ = { "_editor_collapsed":true } + +[node name="cubio" parent="wall_map" instance=ExtResource( 3 )] + +transform/pos = Vector2( -184.284, 6.7328 ) +collision/margin = 0.08 + +[node name="toch" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( -42.0531, -74.8855 ) + +[node name="toch1" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 96.0294, -19.8329 ) + +[node name="toch2" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 954.802, -147.456 ) + +[node name="toch3" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1247.08, 42.9454 ) + +[node name="toch4" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1257.11, -167.498 ) + +[node name="toch5" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1632.9, -73.9674 ) + +[node name="toch6" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1566.09, 113.093 ) + +[node name="toch7" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 1935.2, 64.6577 ) + +[node name="toch8" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 2000.34, 258.399 ) + +[node name="toch9" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 3738.07, -328.247 ) + +[node name="toch10" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 4034.17, -585.483 ) + +[node name="toch11" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 4261.79, -472.595 ) + +[node name="toch12" parent="wall_map" instance=ExtResource( 4 )] + +transform/pos = Vector2( 4006.41, -479.998 ) + +[node name="column" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( -122.203, 119.689 ) + +[node name="column1" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 95.2993, 99.8337 ) + +[node name="column2" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 138.619, 246.039 ) + +[node name="column3" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 324.534, 82.6862 ) + +[node name="column4" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1046.53, -175.429 ) + +[node name="column5" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1347.07, -179.039 ) + +[node name="column6" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1184.62, -261.166 ) + +[node name="column7" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1520.35, -139.329 ) + +[node name="column8" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1409.34, 25.8286 ) + +[node name="column9" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1804.63, -13.8814 ) + +[node name="column10" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 1782.97, 170.229 ) + +[node name="column11" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 2223.9, 158.537 ) + +[node name="column12" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 3744.95, -480.43 ) + +[node name="column13" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 3838.62, -526.042 ) + +[node name="column14" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 3937.17, -573.283 ) + +[node name="column15" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 4123.69, -474.728 ) + +[node name="column16" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 4027.58, -427.487 ) + +[node name="column17" parent="wall_map" instance=ExtResource( 5 )] + +transform/pos = Vector2( 3935.54, -377.802 ) + +[node name="prince_area" type="Area2D" parent="wall_map"] + +transform/pos = Vector2( 4133.07, -561.046 ) +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, -37.4897 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 + +[node name="prince" type="Sprite" parent="wall_map/prince_area"] + +material/material = SubResource( 2 ) +texture = ExtResource( 6 ) +offset = Vector2( -1.10803, -49.8615 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="wall_map/prince_area"] + +transform/pos = Vector2( 0, -37.4897 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Light2D" type="Light2D" parent="."] + +transform/pos = Vector2( -191.788, 32.4743 ) +enabled = true +texture = ExtResource( 7 ) +offset = Vector2( 0, 0 ) +scale = 8.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 0 +range/height = 60.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="CanvasModulate" type="CanvasModulate" parent="."] + +color = Color( 0.361304, 0.36638, 0.384393, 1 ) + +[node name="message" type="Label" parent="."] + +visibility/visible = false +material/material = SubResource( 2 ) +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 4067.0 +margin/top = -597.0 +margin/right = 4200.0 +margin/bottom = -571.0 +text = "Thank You Cubio!\nYou saved The Prince!" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[connection signal="body_enter" from="wall_map/prince_area" to="." method="_on_prince_area_body_enter"] + + diff --git a/demos/2d/isometric_light/shoot.scn b/demos/2d/isometric_light/shoot.scn Binary files differdeleted file mode 100644 index 6909ae0c71..0000000000 --- a/demos/2d/isometric_light/shoot.scn +++ /dev/null diff --git a/demos/2d/isometric_light/shoot.tscn b/demos/2d/isometric_light/shoot.tscn new file mode 100644 index 0000000000..0a49b33d0b --- /dev/null +++ b/demos/2d/isometric_light/shoot.tscn @@ -0,0 +1,172 @@ +[gd_scene load_steps=10 format=1] + +[ext_resource path="res://shoot.gd" type="Script" id=1] +[ext_resource path="res://energy.png" type="Texture" id=2] +[ext_resource path="res://shoot_halo.png" type="Texture" id=3] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 10.0 + +[sub_resource type="CanvasItemMaterial" id=2] + +shader/shading_mode = 0 + +[sub_resource type="Animation" id=3] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("explosion:config/emitting") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.3 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("Sprite:visibility/opacity") +tracks/1/interp = 1 +tracks/1/keys = { "cont":true, "times":FloatArray( 0, 0.2 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/2/type = "value" +tracks/2/path = NodePath("energy1:config/emitting") +tracks/2/interp = 1 +tracks/2/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/3/type = "value" +tracks/3/path = NodePath("light:color") +tracks/3/interp = 1 +tracks/3/keys = { "cont":true, "times":FloatArray( 0, 0.5 ), "transitions":FloatArray( 1, 1 ), "values":[ Color( 1, 3, 2, 1 ), Color( 0, 0, 0, 0 ) ] } +tracks/4/type = "method" +tracks/4/path = NodePath(".") +tracks/4/interp = 1 +tracks/4/keys = { "times":FloatArray( 0.9 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[sub_resource type="Animation" id=4] + +length = 1.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:transform/rot") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 360.0 ] } + +[sub_resource type="ColorRamp" id=5] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 1, 0.617074, 0.704795, 0.0653235 ) + +[sub_resource type="ColorRamp" id=6] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 1, 0.617074, 0.704795, 0.0653235 ) + +[node name="shoot" type="KinematicBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.08 +script/script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] + +material/material = SubResource( 2 ) +transform/pos = Vector2( -1.46303, -58.521 ) +texture = ExtResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 3 ) +anims/spin = SubResource( 4 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[node name="light" type="Light2D" parent="."] + +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 3, 2, 1 ) +energy = 1.0 +mode = 0 +range/height = 80.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="shape" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="energy1" type="Particles2D" parent="."] + +visibility/blend_mode = 1 +transform/pos = Vector2( -1.06581, -61.3015 ) +config/amount = 32 +config/lifetime = 0.6 +config/local_space = false +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 60.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 0.8 +params/final_size = 0.1 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 5 ) + +[node name="explosion" type="Particles2D" parent="."] + +visibility/blend_mode = 1 +transform/pos = Vector2( -1.06581, -61.3015 ) +config/amount = 32 +config/lifetime = 0.6 +config/emitting = false +config/local_space = false +config/explosiveness = 0.1 +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 200.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 200.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 0.8 +params/final_size = 0.1 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 6 ) + + diff --git a/demos/2d/isometric_light/tileset.res b/demos/2d/isometric_light/tileset.res Binary files differdeleted file mode 100644 index f64a4e32bd..0000000000 --- a/demos/2d/isometric_light/tileset.res +++ /dev/null diff --git a/demos/2d/isometric_light/tileset.tres b/demos/2d/isometric_light/tileset.tres new file mode 100644 index 0000000000..c6ccb9f956 --- /dev/null +++ b/demos/2d/isometric_light/tileset.tres @@ -0,0 +1,216 @@ +[gd_resource type="TileSet" load_steps=22 format=1] + +[ext_resource path="res://floor_shader.tres" type="CanvasItemMaterial" id=1] +[ext_resource path="res://faceColor.png" type="Texture" id=2] +[ext_resource path="res://wall_shader.tres" type="CanvasItemMaterial" id=3] + +[sub_resource type="OccluderPolygon2D" id=1] + +closed = false +cull_mode = 0 +polygon = Vector2Array( 0, -22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( 48, 0, 0, -22, 0, -44, 48, -22 ) + +[sub_resource type="OccluderPolygon2D" id=3] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, 22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( -48, 0, 0, -22, 48, 0, 0, 22 ) + +[sub_resource type="OccluderPolygon2D" id=5] + +closed = false +cull_mode = 0 +polygon = Vector2Array( 0, -22, 48, 0, 0, 22 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] + +custom_solver_bias = 0.0 +points = Vector2Array( 48, 0, 0, 22, 0, -22 ) + +[sub_resource type="OccluderPolygon2D" id=7] + +closed = false +cull_mode = 0 +polygon = Vector2Array( 0, -22, -48, 0, 0, 22 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] + +custom_solver_bias = 0.0 +points = Vector2Array( -48, 0, 0, -22, 0, 22 ) + +[sub_resource type="OccluderPolygon2D" id=9] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, -22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] + +custom_solver_bias = 0.0 +points = Vector2Array( 0, -22, 48, 0, -48, 0 ) + +[sub_resource type="OccluderPolygon2D" id=11] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, 22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] + +custom_solver_bias = 0.0 +points = Vector2Array( 48, 0, 0, 22, -48, 0 ) + +[sub_resource type="OccluderPolygon2D" id=13] + +closed = false +cull_mode = 0 +polygon = Vector2Array( 0, 22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=14] + +custom_solver_bias = 0.0 +points = Vector2Array( 0, 22, 0, 0, 48, -22, 48, 0 ) + +[sub_resource type="OccluderPolygon2D" id=15] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, 22 ) + +[sub_resource type="ConvexPolygonShape2D" id=16] + +custom_solver_bias = 0.0 +points = Vector2Array( -48, -22, 0, 0, 0, 22, -48, 0 ) + +[sub_resource type="OccluderPolygon2D" id=17] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, -22 ) + +[sub_resource type="ConvexPolygonShape2D" id=18] + +custom_solver_bias = 0.0 +points = Vector2Array( 0, -44, 0, -22, -48, 0, -48, -22 ) + +[resource] + +0/name = "floor1" +0/texture = ExtResource( 2 ) +0/tex_offset = Vector2( 0, 28 ) +0/material = ExtResource( 1 ) +0/region = Rect2( 311, 760, 197, 151 ) +0/occluder_offset = Vector2( 98.5, 75.5 ) +0/navigation_offset = Vector2( 98.5, 75.5 ) +0/shape_offset = Vector2( 0, 0 ) +0/shapes = [ ] +1/name = "floor2" +1/texture = ExtResource( 2 ) +1/tex_offset = Vector2( 0, 28 ) +1/material = ExtResource( 1 ) +1/region = Rect2( 591, 772, 197, 151 ) +1/occluder_offset = Vector2( 98.5, 75.5 ) +1/navigation_offset = Vector2( 98.5, 75.5 ) +1/shape_offset = Vector2( 0, 0 ) +1/shapes = [ ] +2/name = "block" +2/texture = ExtResource( 2 ) +2/tex_offset = Vector2( 0, -60 ) +2/material = ExtResource( 3 ) +2/region = Rect2( 844, 527, 138, 180 ) +2/occluder_offset = Vector2( 69, 90 ) +2/occluder = SubResource( 3 ) +2/navigation_offset = Vector2( 69, 90 ) +2/shape_offset = Vector2( 69, 90 ) +2/shapes = [ SubResource( 4 ) ] +3/name = "q_right" +3/texture = ExtResource( 2 ) +3/tex_offset = Vector2( 0, -60 ) +3/material = ExtResource( 3 ) +3/region = Rect2( 665, 528, 139, 178 ) +3/occluder_offset = Vector2( 69.5, 89 ) +3/occluder = SubResource( 5 ) +3/navigation_offset = Vector2( 69.5, 89 ) +3/shape_offset = Vector2( 69.5, 89 ) +3/shapes = [ SubResource( 6 ) ] +4/name = "q_left" +4/texture = ExtResource( 2 ) +4/tex_offset = Vector2( 0, -60 ) +4/material = ExtResource( 3 ) +4/region = Rect2( 292, 528, 139, 178 ) +4/occluder_offset = Vector2( 69.5, 89 ) +4/occluder = SubResource( 7 ) +4/navigation_offset = Vector2( 69.5, 89 ) +4/shape_offset = Vector2( 69.5, 89 ) +4/shapes = [ SubResource( 8 ) ] +5/name = "q_top" +5/texture = ExtResource( 2 ) +5/tex_offset = Vector2( 0, -60 ) +5/material = ExtResource( 3 ) +5/region = Rect2( 479, 528, 139, 178 ) +5/occluder_offset = Vector2( 69.5, 89 ) +5/occluder = SubResource( 9 ) +5/navigation_offset = Vector2( 69.5, 89 ) +5/shape_offset = Vector2( 69.5, 89 ) +5/shapes = [ SubResource( 10 ) ] +6/name = "q_bottom" +6/texture = ExtResource( 2 ) +6/tex_offset = Vector2( 0, -60 ) +6/material = ExtResource( 3 ) +6/region = Rect2( 103, 528, 139, 178 ) +6/occluder_offset = Vector2( 69.5, 89 ) +6/occluder = SubResource( 11 ) +6/navigation_offset = Vector2( 69.5, 89 ) +6/shape_offset = Vector2( 69.5, 89 ) +6/shapes = [ SubResource( 12 ) ] +7/name = "s_right_bottom" +7/texture = ExtResource( 2 ) +7/tex_offset = Vector2( 0, -62 ) +7/material = ExtResource( 3 ) +7/region = Rect2( 480, 350, 139, 178 ) +7/occluder_offset = Vector2( 69.5, 89 ) +7/occluder = SubResource( 13 ) +7/navigation_offset = Vector2( 69.5, 89 ) +7/shape_offset = Vector2( 69.5, 89 ) +7/shapes = [ SubResource( 14 ) ] +8/name = "s_left_bottom" +8/texture = ExtResource( 2 ) +8/tex_offset = Vector2( 0, -62 ) +8/material = ExtResource( 3 ) +8/region = Rect2( 665, 350, 139, 178 ) +8/occluder_offset = Vector2( 69.5, 89 ) +8/occluder = SubResource( 15 ) +8/navigation_offset = Vector2( 69.5, 89 ) +8/shape_offset = Vector2( 69.5, 89 ) +8/shapes = [ SubResource( 16 ) ] +9/name = "s_left_top" +9/texture = ExtResource( 2 ) +9/tex_offset = Vector2( 0, -62 ) +9/material = ExtResource( 3 ) +9/region = Rect2( 292, 350, 139, 178 ) +9/occluder_offset = Vector2( 69.5, 89 ) +9/occluder = SubResource( 17 ) +9/navigation_offset = Vector2( 69.5, 89 ) +9/shape_offset = Vector2( 69.5, 89 ) +9/shapes = [ SubResource( 18 ) ] +10/name = "s_right_top" +10/texture = ExtResource( 2 ) +10/tex_offset = Vector2( -12, -62 ) +10/material = ExtResource( 3 ) +10/region = Rect2( 842, 350, 139, 178 ) +10/occluder_offset = Vector2( 69.5, 89 ) +10/occluder = SubResource( 1 ) +10/navigation_offset = Vector2( 69.5, 89 ) +10/shape_offset = Vector2( 69.5, 89 ) +10/shapes = [ SubResource( 2 ) ] + diff --git a/demos/2d/isometric_light/tileset_edit.tscn b/demos/2d/isometric_light/tileset_edit.tscn new file mode 100644 index 0000000000..a65d55fc35 --- /dev/null +++ b/demos/2d/isometric_light/tileset_edit.tscn @@ -0,0 +1,446 @@ +[gd_scene load_steps=22 format=1] + +[ext_resource path="res://floor_shader.tres" type="CanvasItemMaterial" id=1] +[ext_resource path="res://faceColor.png" type="Texture" id=2] +[ext_resource path="res://wall_shader.tres" type="CanvasItemMaterial" id=3] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -48, 0, 0, -22, 48, 0, 0, 22 ) + +[sub_resource type="OccluderPolygon2D" id=2] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, 22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( 48, 0, 0, 22, 0, -22 ) + +[sub_resource type="OccluderPolygon2D" id=4] + +closed = false +cull_mode = 0 +polygon = Vector2Array( 0, -22, 48, 0, 0, 22 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] + +custom_solver_bias = 0.0 +points = Vector2Array( -48, 0, 0, -22, 0, 22 ) + +[sub_resource type="OccluderPolygon2D" id=6] + +closed = false +cull_mode = 0 +polygon = Vector2Array( 0, -22, -48, 0, 0, 22 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] + +custom_solver_bias = 0.0 +points = Vector2Array( 0, -22, 48, 0, -48, 0 ) + +[sub_resource type="OccluderPolygon2D" id=8] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, -22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] + +custom_solver_bias = 0.0 +points = Vector2Array( 48, 0, 0, 22, -48, 0 ) + +[sub_resource type="OccluderPolygon2D" id=10] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, 22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] + +custom_solver_bias = 0.0 +points = Vector2Array( 0, 22, 0, 0, 48, -22, 48, 0 ) + +[sub_resource type="OccluderPolygon2D" id=12] + +closed = false +cull_mode = 0 +polygon = Vector2Array( 0, 22, 48, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=13] + +custom_solver_bias = 0.0 +points = Vector2Array( -48, -22, 0, 0, 0, 22, -48, 0 ) + +[sub_resource type="OccluderPolygon2D" id=14] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, 22 ) + +[sub_resource type="ConvexPolygonShape2D" id=15] + +custom_solver_bias = 0.0 +points = Vector2Array( 0, -44, 0, -22, -48, 0, -48, -22 ) + +[sub_resource type="OccluderPolygon2D" id=16] + +closed = false +cull_mode = 0 +polygon = Vector2Array( -48, 0, 0, -22 ) + +[sub_resource type="ConvexPolygonShape2D" id=17] + +custom_solver_bias = 0.0 +points = Vector2Array( 48, 0, 0, -22, 0, -44, 48, -22 ) + +[sub_resource type="OccluderPolygon2D" id=18] + +closed = false +cull_mode = 0 +polygon = Vector2Array( 0, -22, 48, 0 ) + +[node name="base" type="Node2D"] + +[node name="floor1" type="Sprite" parent="."] + +material/material = ExtResource( 1 ) +transform/pos = Vector2( 140.869, 111.332 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, 28 ) +region = true +region_rect = Rect2( 311, 760, 197, 151 ) + +[node name="floor2" type="Sprite" parent="."] + +material/material = ExtResource( 1 ) +transform/pos = Vector2( 372.62, 109.06 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, 28 ) +region = true +region_rect = Rect2( 591, 772, 197, 151 ) + +[node name="block" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 528, -132 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, -60 ) +region = true +region_rect = Rect2( 844, 527, 138, 180 ) + +[node name="collision" type="StaticBody2D" parent="block"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="block/collision"] + +build_mode = 0 +polygon = Vector2Array( 0, -22, 48, 0, 0, 22, -48, 0 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D" type="LightOccluder2D" parent="block"] + +occluder = SubResource( 2 ) +light_mask = 1 + +[node name="q_right" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 336, -154 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, -60 ) +region = true +region_rect = Rect2( 665, 528, 139, 178 ) + +[node name="collision1" type="StaticBody2D" parent="q_right"] + +input/pickable = false +shapes/0/shape = SubResource( 3 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="q_right/collision1"] + +build_mode = 0 +polygon = Vector2Array( 0, -22, 48, 0, 0, 22 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D" type="LightOccluder2D" parent="q_right"] + +occluder = SubResource( 4 ) +light_mask = 1 + +[node name="q_left" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 96, -110 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, -60 ) +region = true +region_rect = Rect2( 292, 528, 139, 178 ) + +[node name="collision1" type="StaticBody2D" parent="q_left"] + +input/pickable = false +shapes/0/shape = SubResource( 5 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="q_left/collision1"] + +build_mode = 0 +polygon = Vector2Array( 0, 22, -48, 0, 0, -22 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D" type="LightOccluder2D" parent="q_left"] + +occluder = SubResource( 6 ) +light_mask = 1 + +[node name="q_top" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 288, 0 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, -60 ) +region = true +region_rect = Rect2( 479, 528, 139, 178 ) + +[node name="collision2" type="StaticBody2D" parent="q_top"] + +input/pickable = false +shapes/0/shape = SubResource( 7 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="q_top/collision2"] + +build_mode = 0 +polygon = Vector2Array( -48, 0, 0, -22, 48, 0 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D" type="LightOccluder2D" parent="q_top"] + +occluder = SubResource( 8 ) +light_mask = 1 + +[node name="q_bottom" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 192, -242 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, -60 ) +region = true +region_rect = Rect2( 103, 528, 139, 178 ) + +[node name="collision3" type="StaticBody2D" parent="q_bottom"] + +input/pickable = false +shapes/0/shape = SubResource( 9 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="q_bottom/collision3"] + +build_mode = 0 +polygon = Vector2Array( -48, 0, 48, 0, 0, 22 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D1" type="LightOccluder2D" parent="q_bottom"] + +occluder = SubResource( 10 ) +light_mask = 1 + +[node name="s_right_bottom" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 288, -330 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, -62 ) +region = true +region_rect = Rect2( 480, 350, 139, 178 ) + +[node name="collision1" type="StaticBody2D" parent="s_right_bottom"] + +input/pickable = false +shapes/0/shape = SubResource( 11 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="s_right_bottom/collision1"] + +build_mode = 0 +polygon = Vector2Array( 0, 22, 48, 0, 48, -22, 0, 0 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D" type="LightOccluder2D" parent="s_right_bottom"] + +occluder = SubResource( 12 ) +light_mask = 1 + +[node name="s_left_bottom" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 432, -330 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, -62 ) +region = true +region_rect = Rect2( 665, 350, 139, 178 ) + +[node name="collision1" type="StaticBody2D" parent="s_left_bottom"] + +input/pickable = false +shapes/0/shape = SubResource( 13 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="s_left_bottom/collision1"] + +build_mode = 0 +polygon = Vector2Array( 0, 22, -48, 0, -48, -22, 0, 0 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D" type="LightOccluder2D" parent="s_left_bottom"] + +occluder = SubResource( 14 ) +light_mask = 1 + +[node name="s_left_top" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 528, -330 ) +texture = ExtResource( 2 ) +offset = Vector2( 0, -62 ) +region = true +region_rect = Rect2( 292, 350, 139, 178 ) + +[node name="collision1" type="StaticBody2D" parent="s_left_top"] + +input/pickable = false +shapes/0/shape = SubResource( 15 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="s_left_top/collision1"] + +build_mode = 0 +polygon = Vector2Array( 0, -22, -48, 0, -48, -22, 0, -44 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D" type="LightOccluder2D" parent="s_left_top"] + +occluder = SubResource( 16 ) +light_mask = 1 + +[node name="s_right_top" type="Sprite" parent="."] + +material/material = ExtResource( 3 ) +transform/pos = Vector2( 576, -330 ) +texture = ExtResource( 2 ) +offset = Vector2( -12, -62 ) +region = true +region_rect = Rect2( 842, 350, 139, 178 ) + +[node name="collision1" type="StaticBody2D" parent="s_right_top"] + +input/pickable = false +shapes/0/shape = SubResource( 17 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="s_right_top/collision1"] + +build_mode = 0 +polygon = Vector2Array( 0, -22, 0, -44, 48, -22, 48, 0 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="LightOccluder2D" type="LightOccluder2D" parent="s_right_top"] + +occluder = SubResource( 18 ) +light_mask = 1 + +[node name="instructions" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 13.0 +text = "This scene is used to edit the tileset.\nSave to the tileset with Scene -> Convert to -> TileSet\nThen, overwrite \"tileset.tres\"" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/isometric_light/tileset_scene.scn b/demos/2d/isometric_light/tileset_scene.scn Binary files differdeleted file mode 100644 index 4841cc18a7..0000000000 --- a/demos/2d/isometric_light/tileset_scene.scn +++ /dev/null diff --git a/demos/2d/isometric_light/torch.scn b/demos/2d/isometric_light/torch.scn Binary files differdeleted file mode 100644 index 9d6a8e2eae..0000000000 --- a/demos/2d/isometric_light/torch.scn +++ /dev/null diff --git a/demos/2d/isometric_light/torch.tscn b/demos/2d/isometric_light/torch.tscn new file mode 100644 index 0000000000..5ceeb57401 --- /dev/null +++ b/demos/2d/isometric_light/torch.tscn @@ -0,0 +1,138 @@ +[gd_scene load_steps=9 format=1] + +[ext_resource path="res://shadow_blob.png" type="Texture" id=1] +[ext_resource path="res://torch_shader.tres" type="CanvasItemMaterial" id=2] +[ext_resource path="res://faceColor.png" type="Texture" id=3] +[ext_resource path="res://torch_light.png" type="Texture" id=4] +[ext_resource path="res://fire.png" type="Texture" id=5] + +[sub_resource type="Animation" id=1] + +resource/name = "firecol" +length = 5.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("light:color") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 0.4, 0.6, 1, 1.6, 1.9, 2.3, 2.8, 3, 3.5, 3.9, 4.2, 4.5, 4.8 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ Color( 1, 0.664806, 0.432623, 1 ), Color( 0.648063, 0.341868, 0.308913, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 0.648063, 0.341868, 0.308913, 1 ), Color( 1, 0.664806, 0.432623, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 0.648063, 0.341868, 0.308913, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 1, 0.664806, 0.432623, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 1, 0.664806, 0.432623, 1 ), Color( 0.796534, 0.145722, 0.198635, 1 ), Color( 0.648063, 0.341868, 0.308913, 1 ), Color( 1, 0.664806, 0.432623, 1 ) ] } + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 0.2, 0.6, 1 ) +colors = ColorArray( 1, 0.658047, 0, 0.175658, 0.741369, 0.262782, 0, 1, 0.210534, 0, 0, 0.608392, 0, 0, 0, 0 ) + +[sub_resource type="CircleShape2D" id=3] + +custom_solver_bias = 0.0 +radius = 10.0 + +[node name="Node2D" type="Node2D"] + +[node name="Sprite" type="Sprite" parent="."] + +transform/pos = Vector2( 0.880249, 3.08089 ) +texture = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +material/material = ExtResource( 2 ) +transform/pos = Vector2( 1.95071, 0.487679 ) +texture = ExtResource( 3 ) +offset = Vector2( 0.0395508, -22.1477 ) +region = true +region_rect = Rect2( 817, 271, 42, 54 ) + +[node name="light" type="Light2D" parent="sprite"] + +transform/pos = Vector2( -0.975342, 0.975357 ) +enabled = true +texture = ExtResource( 4 ) +offset = Vector2( 0, 0 ) +scale = 8.0 +color = Color( 1, 0.664806, 0.432623, 1 ) +energy = 1.0 +mode = 0 +range/height = 50.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="anim" type="AnimationPlayer" parent="sprite"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/firecol = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "firecol" + +[node name="fire" type="Particles2D" parent="."] + +visibility/blend_mode = 1 +transform/pos = Vector2( 1.08072, -42.4183 ) +transform/scale = Vector2( 0.59473, 0.5694 ) +config/amount = 12 +config/lifetime = 1.0 +config/texture = ExtResource( 5 ) +params/direction = 180.0 +params/spread = 20.0 +params/linear_velocity = 100.0 +params/spin_velocity = 1.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 180.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 180.0 +params/initial_size = 0.7 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +randomness/initial_angle = 1.0 +color/color_ramp = SubResource( 2 ) + +[node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."] + +transform/pos = Vector2( 1.08071, -50.2535 ) +transform/scale = Vector2( 4.29619, 6.51167 ) +rect = Rect2( -10, -10, 20, 20 ) +enabler/pause_animations = true +enabler/freeze_bodies = true +enabler/pause_particles = true +enabler/process_parent = false +enabler/fixed_process_parent = false + +[node name="col" type="StaticBody2D" parent="."] + +input/pickable = false +shapes/0/shape = SubResource( 3 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0.880249, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="shape" type="CollisionShape2D" parent="col"] + +transform/pos = Vector2( 0.880249, 0 ) +shape = SubResource( 3 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/isometric_light/torch_shader.res b/demos/2d/isometric_light/torch_shader.res Binary files differdeleted file mode 100644 index 31a35de1da..0000000000 --- a/demos/2d/isometric_light/torch_shader.res +++ /dev/null diff --git a/demos/2d/isometric_light/torch_shader.tres b/demos/2d/isometric_light/torch_shader.tres new file mode 100644 index 0000000000..6a45b41fa2 --- /dev/null +++ b/demos/2d/isometric_light/torch_shader.tres @@ -0,0 +1,14 @@ +[gd_resource type="CanvasItemMaterial" load_steps=3 format=1] + +[ext_resource path="res://faceNormal.png" type="Texture" id=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"uniform texture normaltex;\nvec4 ntex = tex(normaltex,UV);\nntex.rgb = ntex.rgb * vec3(-2,-2,1) - vec3(-1,-1,0);\nvec2 tile_vec=vec2(47,22);\nfloat r = asin(tile_vec.y / tile_vec.x);\nmat3 rot_mat = mat3( vec3(1,0,0), vec3(0,cos(r),-sin(r)), vec3(0,sin(r),cos(r)));\nNORMAL = rot_mat * ntex.rgb;\n\n\n\n\n", "fragment_ofs":0, "light":"LIGHT_VEC.y=40; //from light towards up, where is the torch\?\nvec3 light_normal = normalize(vec3(LIGHT_VEC,-LIGHT_HEIGHT));\nLIGHT=LIGHT_COLOR*COLOR*max(dot(-light_normal,NORMAL),0.0);\n\n", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normaltex = ExtResource( 1 ) + diff --git a/demos/2d/isometric_light/wall_shader.res b/demos/2d/isometric_light/wall_shader.res Binary files differdeleted file mode 100644 index 7e33c26201..0000000000 --- a/demos/2d/isometric_light/wall_shader.res +++ /dev/null diff --git a/demos/2d/isometric_light/wall_shader.tres b/demos/2d/isometric_light/wall_shader.tres new file mode 100644 index 0000000000..42d967cf76 --- /dev/null +++ b/demos/2d/isometric_light/wall_shader.tres @@ -0,0 +1,16 @@ +[gd_resource type="CanvasItemMaterial" load_steps=4 format=1] + +[ext_resource path="res://faceMask.png" type="Texture" id=1] +[ext_resource path="res://faceNormal.png" type="Texture" id=2] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"uniform texture normal;\n\nvec2 ywnormal=tex( normal,UV).wy * vec2(2.0,2.0) - vec2(1.0,1.0);\nNORMAL=vec3(ywnormal,sqrt(1 - (ywnormal.x * ywnormal.x) - (ywnormal.y * ywnormal.y) ));\n", "fragment_ofs":0, "light":"// this is the half size of the tile in pixels\n\nvec2 tile_vec=vec2(47,22);\n\n// this mask is used to see which part of the tile is the background (^)\n// or the foregronud (v)\n\nuniform texture bg_mask;\n\nbool behind = tex(bg_mask,UV).a>0.5;\nfloat y_ofs;\n\nif (behind) {\n\t// ^ part\n\t\n\ty_ofs = tile_vec.y*2 - abs(VAR1.x * tile_vec.y / tile_vec.x);\n} else {\n\t// v part\n\t\n\ty_ofs = abs(VAR1.x * tile_vec.y / tile_vec.x);\n}\n\nvec2 point_2d = vec2(VAR1.x,(tile_vec.y - VAR1.y));\n\n// compute a pseudo 3D point for both the light and the texel\n// this makes the normalmap calculation work properly\n\nvec3 point_3d = vec3( point_2d.x, point_2d.y - y_ofs, y_ofs );\nvec3 light_3d = vec3(point_2d.x-LIGHT_VEC.x,LIGHT_HEIGHT,(-(VAR1.y - (LIGHT_VEC.y))+tile_vec.y));\n\n//this could be optimized\n//a rotation matrix is created to convert the normalmap vector\n//to the same coordinate space as our pseudo 3d point and light\n\nfloat r = asin(tile_vec.y / tile_vec.x);\nmat3 rot_mat = mat3( vec3(1,0,0), vec3(0,cos(r),-sin(r)), vec3(0,sin(r),cos(r)));\nvec3 n = rot_mat * NORMAL;\nn.y=-n.y;\n\n//finally compute the dot product. Simple diffuse is computed here,\n//but specular could be added and it will look prettier\n\nfloat dp = max(dot(normalize(n),-normalize(light_3d-point_3d)),0);\nLIGHT=vec4(vec3(dp),1.0)*COLOR*LIGHT_COLOR*3.0;\n\n//finally, after light was cmoputed, make the light \"flat\"\n//this makes the shadows work properly\n//the +2 is added to avoid z-fighting between caster and pseudo 3d coords.\n\nLIGHT_VEC.y+=point_3d.y+2;\n\n", "light_ofs":0, "vertex":"//assign the local vertex coordinates to a varying\n//the center coordinates (0,0) matches the sprite center \n// (shows as a cross when the sprite is selected)\n\nVAR1.xy=SRC_VERTEX;\n", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normal = ExtResource( 2 ) +shader_param/bg_mask = ExtResource( 1 ) + diff --git a/demos/2d/kinematic_char/colworld.scn b/demos/2d/kinematic_char/colworld.scn Binary files differdeleted file mode 100644 index ff10826563..0000000000 --- a/demos/2d/kinematic_char/colworld.scn +++ /dev/null diff --git a/demos/2d/kinematic_char/colworld.tscn b/demos/2d/kinematic_char/colworld.tscn new file mode 100644 index 0000000000..3bc4a21d6b --- /dev/null +++ b/demos/2d/kinematic_char/colworld.tscn @@ -0,0 +1,422 @@ +[gd_scene load_steps=19 format=1] + +[ext_resource path="res://colworld.gd" type="Script" id=1] +[ext_resource path="res://obstacle.png" type="Texture" id=2] +[ext_resource path="res://player.tscn" type="PackedScene" id=3] +[ext_resource path="res://princess.png" type="Texture" id=4] +[ext_resource path="res://circle.png" type="Texture" id=5] +[ext_resource path="res://long_obstacle.png" type="Texture" id=6] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="TileSet" id=2] + +0/name = "" +0/texture = ExtResource( 2 ) +0/tex_offset = Vector2( 0, 0 ) +0/region = Rect2( 0, 0, 0, 0 ) +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 8, 8 ) +0/shapes = [ SubResource( 1 ) ] + +[sub_resource type="RectangleShape2D" id=3] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="Animation" id=4] + +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1, 5, 6 ), "transitions":FloatArray( 1, 1, 1, 1 ), "values":[ Vector2( 184, 152 ), Vector2( 184, 152 ), Vector2( 328.086, 152 ), Vector2( 328.086, 152 ) ] } + +[sub_resource type="Animation" id=5] + +resource/name = "leftright" +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1, 5, 6 ), "transitions":FloatArray( 1, 1, 1, 1 ), "values":[ Vector2( 184, 152 ), Vector2( 184, 152 ), Vector2( 328.086, 152 ), Vector2( 328.086, 152 ) ] } + +[sub_resource type="Animation" id=6] + +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1, 5, 6 ), "transitions":FloatArray( 1, 1, 1, 1 ), "values":[ Vector2( 88.3493, 296 ), Vector2( 88.3493, 296 ), Vector2( 88.3493, 152 ), Vector2( 88.3493, 152 ) ] } + +[sub_resource type="RectangleShape2D" id=7] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="RectangleShape2D" id=8] + +custom_solver_bias = 0.0 +extents = Vector2( 10, 4 ) + +[sub_resource type="CircleShape2D" id=9] + +custom_solver_bias = 0.0 +radius = 32.0 + +[sub_resource type="RectangleShape2D" id=10] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="Animation" id=11] + +length = 20.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/rot") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 5, 10, 15 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ 0.0, 90.0, 0.0, -90.0 ] } + +[sub_resource type="RectangleShape2D" id=12] + +custom_solver_bias = 0.0 +extents = Vector2( 32, 8 ) + +[node name="colworld" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="TileMap" type="TileMap" parent="."] + +mode = 0 +tile_set = SubResource( 2 ) +cell/size = Vector2( 16, 16 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0, 32, 0, 65536, 0, 65537, 0, 65538, 0, 65539, 0, 65540, 0, 65541, 0, 65542, 0, 65543, 0, 65544, 0, 65545, 0, 65546, 0, 65547, 0, 65548, 0, 65549, 0, 65550, 0, 65551, 0, 65552, 0, 65553, 0, 65554, 0, 65555, 0, 65556, 0, 65557, 0, 65558, 0, 65559, 0, 65560, 0, 65561, 0, 65562, 0, 65563, 0, 65564, 0, 65565, 0, 65566, 0, 65567, 0, 65568, 0, 131072, 0, 131073, 0, 131103, 0, 131104, 0, 196608, 0, 196609, 0, 196639, 0, 196640, 0, 262144, 0, 262145, 0, 262175, 0, 262176, 0, 327680, 0, 327681, 0, 327685, 0, 327686, 0, 327687, 0, 327688, 0, 327689, 0, 327690, 0, 327691, 0, 327692, 0, 327693, 0, 327697, 0, 327711, 0, 327712, 0, 393216, 0, 393217, 0, 393237, 0, 393238, 0, 393247, 0, 393248, 0, 458752, 0, 458753, 0, 458783, 0, 458784, 0, 524288, 0, 524289, 0, 524313, 0, 524314, 0, 524319, 0, 524320, 0, 589824, 0, 589825, 0, 589830, 0, 589831, 0, 589832, 0, 589833, 0, 589834, 0, 589845, 0, 589846, 0, 589847, 0, 589855, 0, 589856, 0, 655360, 0, 655361, 0, 655391, 0, 655392, 0, 720896, 0, 720897, 0, 720927, 0, 720928, 0, 786432, 0, 786433, 0, 786463, 0, 786464, 0, 851968, 0, 851969, 0, 851999, 0, 852000, 0, 917504, 0, 917505, 0, 917535, 0, 917536, 0, 983040, 0, 983041, 0, 983071, 0, 983072, 0, 1048576, 0, 1048577, 0, 1048607, 0, 1048608, 0, 1114112, 0, 1114113, 0, 1114143, 0, 1114144, 0, 1179648, 0, 1179649, 0, 1179654, 0, 1179655, 0, 1179656, 0, 1179679, 0, 1179680, 0, 1245184, 0, 1245185, 0, 1245204, 0, 1245205, 0, 1245206, 0, 1245207, 0, 1245215, 0, 1245216, 0, 1310720, 0, 1310721, 0, 1310751, 0, 1310752, 0, 1376256, 0, 1376257, 0, 1376285, 0, 1376286, 0, 1376287, 0, 1376288, 0, 1441792, 0, 1441793, 0, 1441823, 0, 1441824, 0, 1507328, 0, 1507329, 0, 1507355, 0, 1507356, 0, 1507359, 0, 1507360, 0, 1572864, 0, 1572865, 0, 1572895, 0, 1572896, 0, 1638400, 0, 1638401, 0, 1638413, 0, 1638425, 0, 1638426, 0, 1638431, 0, 1638432, 0, 1703936, 0, 1703937, 0, 1703948, 0, 1703965, 0, 1703966, 0, 1703967, 0, 1703968, 0, 1769472, 0, 1769473, 0, 1769482, 0, 1769483, 0, 1769500, 0, 1769501, 0, 1769503, 0, 1769504, 0, 1835008, 0, 1835009, 0, 1835012, 0, 1835018, 0, 1835019, 0, 1835034, 0, 1835035, 0, 1835039, 0, 1835040, 0, 1900544, 0, 1900545, 0, 1900546, 0, 1900547, 0, 1900548, 0, 1900549, 0, 1900550, 0, 1900551, 0, 1900552, 0, 1900553, 0, 1900554, 0, 1900555, 0, 1900556, 0, 1900557, 0, 1900558, 0, 1900559, 0, 1900560, 0, 1900561, 0, 1900562, 0, 1900563, 0, 1900564, 0, 1900565, 0, 1900566, 0, 1900567, 0, 1900568, 0, 1900569, 0, 1900570, 0, 1900571, 0, 1900572, 0, 1900573, 0, 1900574, 0, 1900575, 0, 1900576, 0, 1966080, 0, 1966081, 0, 1966082, 0, 1966083, 0, 1966084, 0, 1966085, 0, 1966086, 0, 1966087, 0, 1966088, 0, 1966089, 0, 1966090, 0, 1966091, 0, 1966092, 0, 1966093, 0, 1966094, 0, 1966095, 0, 1966096, 0, 1966097, 0, 1966098, 0, 1966099, 0, 1966100, 0, 1966101, 0, 1966102, 0, 1966103, 0, 1966104, 0, 1966105, 0, 1966106, 0, 1966107, 0, 1966108, 0, 1966109, 0, 1966110, 0, 1966111, 0, 1966112, 0, 2031616, 0, 2031617, 0, 2031618, 0, 2031619, 0, 2031620, 0, 2031621, 0, 2031622, 0, 2031623, 0, 2031624, 0, 2031625, 0, 2031626, 0, 2031627, 0, 2031628, 0, 2031629, 0, 2031630, 0, 2031631, 0, 2031632, 0, 2031633, 0, 2031634, 0, 2031635, 0, 2031636, 0, 2031637, 0, 2031638, 0, 2031639, 0, 2031640, 0, 2031641, 0, 2031642, 0, 2031643, 0, 2031644, 0, 2031645, 0, 2031646, 0, 2031647, 0, 2031648, 0 ) + +[node name="player" parent="." instance=ExtResource( 3 )] + +transform/pos = Vector2( 72, 430 ) +collision/margin = 0.05 + +[node name="moving_platform1" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 274.142, 152 ) +input/pickable = false +shapes/0/shape = SubResource( 3 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.01 + +[node name="collision" type="CollisionShape2D" parent="moving_platform1"] + +shape = SubResource( 3 ) +trigger = false +_update_shape_index = -1 + +[node name="sprite" type="Sprite" parent="moving_platform1"] + +texture = ExtResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="moving_platform1"] + +playback/process_mode = 0 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/leftright = SubResource( 4 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "leftright" + +[node name="moving_platform2" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 88.3493, 284.689 ) +input/pickable = false +shapes/0/shape = SubResource( 3 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.01 + +[node name="collision" type="CollisionShape2D" parent="moving_platform2"] + +shape = SubResource( 3 ) +trigger = false +_update_shape_index = -1 + +[node name="sprite" type="Sprite" parent="moving_platform2"] + +texture = ExtResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="moving_platform2"] + +playback/process_mode = 0 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/leftright = SubResource( 5 ) +anims/updown = SubResource( 6 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "updown" + +[node name="princess" type="Area2D" parent="."] + +transform/pos = Vector2( 97, 72 ) +input/pickable = true +shapes/0/shape = SubResource( 7 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 + +[node name="collision" type="CollisionShape2D" parent="princess"] + +shape = SubResource( 7 ) +trigger = false +_update_shape_index = -1 + +[node name="Sprite" type="Sprite" parent="princess"] + +texture = ExtResource( 4 ) + +[node name="youwin" type="Label" parent="."] + +visibility/visible = false +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 196.0 +margin/top = 41.0 +margin/right = 344.0 +margin/bottom = 67.0 +text = "Thank You Cubio\nYou Saved The Princess!" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="oneway1" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 439, 301 ) +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 6.0 +collision/margin = 0.01 + +[node name="sprite" type="Sprite" parent="oneway1"] + +transform/scale = Vector2( 1, 0.3 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="oneway1"] + +shape = SubResource( 8 ) +trigger = false +_update_shape_index = -1 + +[node name="oneway2" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 456, 301 ) +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 6.0 +collision/margin = 0.01 + +[node name="sprite" type="Sprite" parent="oneway2"] + +transform/scale = Vector2( 1, 0.3 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="oneway2"] + +shape = SubResource( 8 ) +trigger = false +_update_shape_index = -1 + +[node name="oneway3" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 472, 301 ) +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 6.0 +collision/margin = 0.01 + +[node name="sprite" type="Sprite" parent="oneway3"] + +transform/scale = Vector2( 1, 0.3 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="oneway3"] + +shape = SubResource( 8 ) +trigger = false +_update_shape_index = -1 + +[node name="oneway4" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 487, 301 ) +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 6.0 +collision/margin = 0.01 + +[node name="sprite" type="Sprite" parent="oneway4"] + +transform/scale = Vector2( 1, 0.3 ) +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="oneway4"] + +shape = SubResource( 8 ) +trigger = false +_update_shape_index = -1 + +[node name="circle" type="KinematicBody2D" parent="."] + +transform/pos = Vector2( 241.169, 304.126 ) +input/pickable = false +shapes/0/shape = SubResource( 9 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 10 ) +shapes/1/transform = Matrix32( 1, 0, 0, 1, -0.440125, -37.0904 ) +shapes/1/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.08 + +[node name="sprite" type="Sprite" parent="circle"] + +texture = ExtResource( 5 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="circle"] + +shape = SubResource( 9 ) +trigger = false +_update_shape_index = -1 + +[node name="anim" type="AnimationPlayer" parent="circle"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/turn = SubResource( 11 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "turn" + +[node name="box" type="CollisionShape2D" parent="circle"] + +transform/pos = Vector2( -0.440125, -37.0904 ) +shape = SubResource( 10 ) +trigger = false +_update_shape_index = -1 + +[node name="boxsprite" type="Sprite" parent="circle"] + +transform/pos = Vector2( 0, -37.4108 ) +texture = ExtResource( 2 ) + +[node name="platform" type="StaticBody2D" parent="."] + +transform/pos = Vector2( 251.44, 396.557 ) +transform/rot = 24.5257 +input/pickable = false +shapes/0/shape = SubResource( 12 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="sprite" type="Sprite" parent="platform"] + +texture = ExtResource( 6 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform"] + +shape = SubResource( 12 ) +trigger = false +_update_shape_index = -1 + +[node name="platform1" type="StaticBody2D" parent="."] + +transform/pos = Vector2( 369.116, 394.016 ) +transform/rot = -26.6959 +input/pickable = false +shapes/0/shape = SubResource( 12 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="sprite" type="Sprite" parent="platform1"] + +texture = ExtResource( 6 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform1"] + +shape = SubResource( 12 ) +trigger = false +_update_shape_index = -1 + +[connection signal="body_enter" from="princess" to="." method="_on_princess_body_enter"] + + diff --git a/demos/2d/kinematic_char/engine.cfg b/demos/2d/kinematic_char/engine.cfg index 8bdd5e2fc5..0ab2a552ca 100644 --- a/demos/2d/kinematic_char/engine.cfg +++ b/demos/2d/kinematic_char/engine.cfg @@ -1,7 +1,7 @@ [application] name="Kinematic Character" -main_scene="res://colworld.scn" +main_scene="res://colworld.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/kinematic_char/player.scn b/demos/2d/kinematic_char/player.scn Binary files differdeleted file mode 100644 index 5ee86ce85d..0000000000 --- a/demos/2d/kinematic_char/player.scn +++ /dev/null diff --git a/demos/2d/kinematic_char/player.tscn b/demos/2d/kinematic_char/player.tscn new file mode 100644 index 0000000000..e3e5fa1d4a --- /dev/null +++ b/demos/2d/kinematic_char/player.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://player.gd" type="Script" id=1] +[ext_resource path="res://player.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 7, 7 ) + +[node name="player" type="KinematicBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, -0.315559, 0.157784 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.01 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( -0.315559, 0.157784 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/kinematic_col/colworld.scn b/demos/2d/kinematic_col/colworld.scn Binary files differdeleted file mode 100644 index 06607b7efd..0000000000 --- a/demos/2d/kinematic_col/colworld.scn +++ /dev/null diff --git a/demos/2d/kinematic_col/colworld.tscn b/demos/2d/kinematic_col/colworld.tscn new file mode 100644 index 0000000000..43eb58545e --- /dev/null +++ b/demos/2d/kinematic_col/colworld.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://obstacle.png" type="Texture" id=1] +[ext_resource path="res://player.tscn" type="PackedScene" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[sub_resource type="TileSet" id=2] + +0/name = "" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/region = Rect2( 0, 0, 0, 0 ) +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 8, 8 ) +0/shapes = [ SubResource( 1 ) ] + +[node name="colworld" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] + +mode = 0 +tile_set = SubResource( 2 ) +cell/size = Vector2( 16, 16 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0, 32, 0, 65536, 0, 65537, 0, 65538, 0, 65539, 0, 65540, 0, 65541, 0, 65542, 0, 65543, 0, 65544, 0, 65545, 0, 65546, 0, 65547, 0, 65548, 0, 65549, 0, 65550, 0, 65551, 0, 65552, 0, 65553, 0, 65554, 0, 65555, 0, 65556, 0, 65557, 0, 65558, 0, 65559, 0, 65560, 0, 65561, 0, 65562, 0, 65563, 0, 65564, 0, 65565, 0, 65566, 0, 65567, 0, 65568, 0, 131072, 0, 131073, 0, 131103, 0, 131104, 0, 196608, 0, 196609, 0, 196639, 0, 196640, 0, 262144, 0, 262145, 0, 262175, 0, 262176, 0, 327680, 0, 327681, 0, 327685, 0, 327686, 0, 327687, 0, 327688, 0, 327689, 0, 327690, 0, 327691, 0, 327692, 0, 327693, 0, 327711, 0, 327712, 0, 393216, 0, 393217, 0, 393247, 0, 393248, 0, 458752, 0, 458753, 0, 458783, 0, 458784, 0, 524288, 0, 524289, 0, 524319, 0, 524320, 0, 589824, 0, 589825, 0, 589855, 0, 589856, 0, 655360, 0, 655361, 0, 655373, 0, 655374, 0, 655375, 0, 655376, 0, 655377, 0, 655378, 0, 655379, 0, 655380, 0, 655381, 0, 655391, 0, 655392, 0, 720896, 0, 720897, 0, 720909, 0, 720910, 0, 720911, 0, 720912, 0, 720913, 0, 720914, 0, 720915, 0, 720916, 0, 720917, 0, 720927, 0, 720928, 0, 786432, 0, 786433, 0, 786445, 0, 786446, 0, 786447, 0, 786448, 0, 786449, 0, 786450, 0, 786451, 0, 786452, 0, 786453, 0, 786463, 0, 786464, 0, 851968, 0, 851969, 0, 851981, 0, 851982, 0, 851988, 0, 851989, 0, 851999, 0, 852000, 0, 917504, 0, 917505, 0, 917517, 0, 917518, 0, 917524, 0, 917525, 0, 917535, 0, 917536, 0, 983040, 0, 983041, 0, 983053, 0, 983054, 0, 983060, 0, 983061, 0, 983071, 0, 983072, 0, 1048576, 0, 1048577, 0, 1048596, 0, 1048597, 0, 1048607, 0, 1048608, 0, 1114112, 0, 1114113, 0, 1114132, 0, 1114133, 0, 1114143, 0, 1114144, 0, 1179648, 0, 1179649, 0, 1179668, 0, 1179669, 0, 1179679, 0, 1179680, 0, 1245184, 0, 1245185, 0, 1245204, 0, 1245205, 0, 1245215, 0, 1245216, 0, 1310720, 0, 1310721, 0, 1310730, 0, 1310731, 0, 1310748, 0, 1310751, 0, 1310752, 0, 1376256, 0, 1376257, 0, 1376266, 0, 1376267, 0, 1376284, 0, 1376287, 0, 1376288, 0, 1441792, 0, 1441793, 0, 1441802, 0, 1441803, 0, 1441804, 0, 1441805, 0, 1441820, 0, 1441823, 0, 1441824, 0, 1507328, 0, 1507329, 0, 1507338, 0, 1507339, 0, 1507340, 0, 1507341, 0, 1507359, 0, 1507360, 0, 1572864, 0, 1572865, 0, 1572874, 0, 1572875, 0, 1572876, 0, 1572877, 0, 1572878, 0, 1572879, 0, 1572880, 0, 1572881, 0, 1572882, 0, 1572895, 0, 1572896, 0, 1638400, 0, 1638401, 0, 1638410, 0, 1638411, 0, 1638412, 0, 1638413, 0, 1638414, 0, 1638415, 0, 1638416, 0, 1638417, 0, 1638418, 0, 1638431, 0, 1638432, 0, 1703936, 0, 1703937, 0, 1703946, 0, 1703947, 0, 1703967, 0, 1703968, 0, 1769472, 0, 1769473, 0, 1769482, 0, 1769483, 0, 1769503, 0, 1769504, 0, 1835008, 0, 1835009, 0, 1835018, 0, 1835019, 0, 1835039, 0, 1835040, 0, 1900544, 0, 1900545, 0, 1900546, 0, 1900547, 0, 1900548, 0, 1900549, 0, 1900550, 0, 1900551, 0, 1900552, 0, 1900553, 0, 1900554, 0, 1900555, 0, 1900556, 0, 1900557, 0, 1900558, 0, 1900559, 0, 1900560, 0, 1900561, 0, 1900562, 0, 1900563, 0, 1900564, 0, 1900565, 0, 1900566, 0, 1900567, 0, 1900568, 0, 1900569, 0, 1900570, 0, 1900571, 0, 1900572, 0, 1900573, 0, 1900574, 0, 1900575, 0, 1900576, 0, 1966080, 0, 1966081, 0, 1966082, 0, 1966083, 0, 1966084, 0, 1966085, 0, 1966086, 0, 1966087, 0, 1966088, 0, 1966089, 0, 1966090, 0, 1966091, 0, 1966092, 0, 1966093, 0, 1966094, 0, 1966095, 0, 1966096, 0, 1966097, 0, 1966098, 0, 1966099, 0, 1966100, 0, 1966101, 0, 1966102, 0, 1966103, 0, 1966104, 0, 1966105, 0, 1966106, 0, 1966107, 0, 1966108, 0, 1966109, 0, 1966110, 0, 1966111, 0, 1966112, 0, 2031616, 0, 2031617, 0, 2031618, 0, 2031619, 0, 2031620, 0, 2031621, 0, 2031622, 0, 2031623, 0, 2031624, 0, 2031625, 0, 2031626, 0, 2031627, 0, 2031628, 0, 2031629, 0, 2031630, 0, 2031631, 0, 2031632, 0, 2031633, 0, 2031634, 0, 2031635, 0, 2031636, 0, 2031637, 0, 2031638, 0, 2031639, 0, 2031640, 0, 2031641, 0, 2031642, 0, 2031643, 0, 2031644, 0, 2031645, 0, 2031646, 0, 2031647, 0, 2031648, 0 ) + +[node name="player" parent="." instance=ExtResource( 2 )] + +transform/pos = Vector2( 115.243, 222.134 ) +collision/margin = 0.01 + + diff --git a/demos/2d/kinematic_col/engine.cfg b/demos/2d/kinematic_col/engine.cfg index 654288a9bd..7e2435a34e 100644 --- a/demos/2d/kinematic_col/engine.cfg +++ b/demos/2d/kinematic_col/engine.cfg @@ -1,7 +1,7 @@ [application] name="Kinematic Collision" -main_scene="res://colworld.scn" +main_scene="res://colworld.tscn" icon="res://icon.png" [input] diff --git a/demos/2d/kinematic_col/player.scn b/demos/2d/kinematic_col/player.scn Binary files differdeleted file mode 100644 index 28ad204472..0000000000 --- a/demos/2d/kinematic_col/player.scn +++ /dev/null diff --git a/demos/2d/kinematic_col/player.tscn b/demos/2d/kinematic_col/player.tscn new file mode 100644 index 0000000000..92ad693690 --- /dev/null +++ b/demos/2d/kinematic_col/player.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://player.gd" type="Script" id=1] +[ext_resource path="res://player.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 8, 8 ) + +[node name="player" type="KinematicBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +collision/margin = 0.01 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/light_mask/engine.cfg b/demos/2d/light_mask/engine.cfg index 39608669ab..3c2f1f3a79 100644 --- a/demos/2d/light_mask/engine.cfg +++ b/demos/2d/light_mask/engine.cfg @@ -1,7 +1,7 @@ [application] name="Using Lights As Mask" -main_scene="res://lightmask.scn" +main_scene="res://lightmask.tscn" icon="res://icon.png" [rasterizer] diff --git a/demos/2d/light_mask/lightmask.scn b/demos/2d/light_mask/lightmask.scn Binary files differdeleted file mode 100644 index fcf56b5b84..0000000000 --- a/demos/2d/light_mask/lightmask.scn +++ /dev/null diff --git a/demos/2d/light_mask/lightmask.tscn b/demos/2d/light_mask/lightmask.tscn new file mode 100644 index 0000000000..d489b735b0 --- /dev/null +++ b/demos/2d/light_mask/lightmask.tscn @@ -0,0 +1,134 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://burano.png" type="Texture" id=1] +[ext_resource path="res://splat.png" type="Texture" id=2] + +[sub_resource type="CanvasItemMaterial" id=1] + +shader/shading_mode = 2 + +[sub_resource type="Animation" id=2] + +length = 4.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("light1:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1, 2, 3 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 601.028, 242.639 ), Vector2( 318.649, 327.353 ), Vector2( 381.263, 130.915 ), Vector2( 462.294, 389.968 ) ] } +tracks/1/type = "value" +tracks/1/path = NodePath("light2:transform/pos") +tracks/1/interp = 1 +tracks/1/keys = { "cont":true, "times":FloatArray( 0, 1, 2, 3 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 196.528, 185.139 ), Vector2( 135.142, 454.013 ), Vector2( 638.105, 334.923 ), Vector2( 331.375, 101.653 ) ] } +tracks/2/type = "value" +tracks/2/path = NodePath("light3:transform/pos") +tracks/2/interp = 1 +tracks/2/keys = { "cont":true, "times":FloatArray( 0, 1, 2, 3 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 442.528, 411.139 ), Vector2( 635.283, 236.8 ), Vector2( 216.215, 396.815 ), Vector2( 682.96, 294.708 ) ] } + +[node name="lightmask_demo" type="Control"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 + +[node name="burano" type="TextureFrame" parent="."] + +material/material = SubResource( 1 ) +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 800.0 +margin/bottom = 600.0 +texture = ExtResource( 1 ) + +[node name="light1" type="Light2D" parent="."] + +transform/pos = Vector2( 601.028, 242.639 ) +transform/scale = Vector2( 1.62522, 1.62999 ) +enabled = true +texture = ExtResource( 2 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 2 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = false +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="light2" type="Light2D" parent="."] + +transform/pos = Vector2( 196.528, 185.139 ) +transform/scale = Vector2( 1.76194, 1.71984 ) +enabled = true +texture = ExtResource( 2 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 2 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = false +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="light3" type="Light2D" parent="."] + +transform/pos = Vector2( 442.528, 411.139 ) +transform/scale = Vector2( 1.76194, 1.71984 ) +enabled = true +texture = ExtResource( 2 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 2 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = false +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/maskmotion = SubResource( 2 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "maskmotion" + + diff --git a/demos/2d/lights_shadows/engine.cfg b/demos/2d/lights_shadows/engine.cfg index 80142633d3..51a98eddd7 100644 --- a/demos/2d/lights_shadows/engine.cfg +++ b/demos/2d/lights_shadows/engine.cfg @@ -1,7 +1,7 @@ [application] name="2D Lighting" -main_scene="res://light_shadows.scn" +main_scene="res://light_shadows.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/lights_shadows/light_shadows.scn b/demos/2d/lights_shadows/light_shadows.scn Binary files differdeleted file mode 100644 index 24ccd1e0be..0000000000 --- a/demos/2d/lights_shadows/light_shadows.scn +++ /dev/null diff --git a/demos/2d/lights_shadows/light_shadows.tscn b/demos/2d/lights_shadows/light_shadows.tscn new file mode 100644 index 0000000000..f31692889e --- /dev/null +++ b/demos/2d/lights_shadows/light_shadows.tscn @@ -0,0 +1,326 @@ +[gd_scene load_steps=9 format=1] + +[ext_resource path="res://bg.png" type="Texture" id=1] +[ext_resource path="res://caster.png" type="Texture" id=2] +[ext_resource path="res://light.png" type="Texture" id=3] +[ext_resource path="res://spot.png" type="Texture" id=4] + +[sub_resource type="OccluderPolygon2D" id=1] + +closed = true +cull_mode = 0 +polygon = Vector2Array( -15.913, -15.9738, 15.9079, -16.0785, 15.6986, 15.847, -16.1223, 15.9517 ) + +[sub_resource type="Animation" id=2] + +length = 16.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 4, 8, 12 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 159.289, 452.441 ), Vector2( 132.279, 80.4366 ), Vector2( 700.722, 241.27 ), Vector2( 429.392, 571.532 ) ] } + +[sub_resource type="Animation" id=3] + +length = 16.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 4.1, 8.1, 11.8 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 753.756, 314.336 ), Vector2( 69.7562, 234.336 ), Vector2( 256.756, 575.336 ), Vector2( 516.756, 530.336 ) ] } + +[sub_resource type="Animation" id=4] + +length = 16.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 4.1, 7.9, 12.1 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 692.078, 29.8849 ), Vector2( 309.606, 31.5551 ), Vector2( 40.7064, 238.658 ), Vector2( 685.397, 282.082 ) ] } + +[node name="base" type="Node2D"] + +[node name="ambient" type="CanvasModulate" parent="."] + +color = Color( 0.479177, 0.464761, 0.498946, 1 ) + +[node name="bg" type="Sprite" parent="."] + +transform/pos = Vector2( 401.251, 301.906 ) +transform/scale = Vector2( 6.39454, 4.82665 ) +texture = ExtResource( 1 ) + +[node name="casters" type="Node2D" parent="."] + +[node name="shadow_caster" type="Sprite" parent="casters"] + +transform/pos = Vector2( 95.2909, 85.3186 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster1" type="Sprite" parent="casters"] + +transform/pos = Vector2( 200.291, 313.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster1"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster2" type="Sprite" parent="casters"] + +transform/pos = Vector2( 76.2909, 405.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster2"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster3" type="Sprite" parent="casters"] + +transform/pos = Vector2( 348.291, 206.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster3"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster4" type="Sprite" parent="casters"] + +transform/pos = Vector2( 239.291, 48.3186 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster4"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster5" type="Sprite" parent="casters"] + +transform/pos = Vector2( 140.291, 561.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster5"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster6" type="Sprite" parent="casters"] + +transform/pos = Vector2( 392.291, 499.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster6"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster7" type="Sprite" parent="casters"] + +transform/pos = Vector2( 735.291, 552.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster7"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster8" type="Sprite" parent="casters"] + +transform/pos = Vector2( 661.291, 371.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster8"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster9" type="Sprite" parent="casters"] + +transform/pos = Vector2( 567.291, 574.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster9"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster10" type="Sprite" parent="casters"] + +transform/pos = Vector2( 420.291, 350.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster10"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster11" type="Sprite" parent="casters"] + +transform/pos = Vector2( 463.291, 106.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster11"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster12" type="Sprite" parent="casters"] + +transform/pos = Vector2( 621.291, 78.3186 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster12"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster13" type="Sprite" parent="casters"] + +transform/pos = Vector2( 761.291, 240.319 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster13"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="shadow_caster14" type="Sprite" parent="casters"] + +transform/pos = Vector2( 771.291, 29.3186 ) +texture = ExtResource( 2 ) + +[node name="occluder" type="LightOccluder2D" parent="casters/shadow_caster14"] + +occluder = SubResource( 1 ) +light_mask = 1 + +[node name="red_light" type="Light2D" parent="."] + +transform/pos = Vector2( 159.289, 452.441 ) +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 1, 0.446392, 0.0576646, 1 ) +energy = 1.0 +mode = 0 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="blob" type="Sprite" parent="red_light"] + +visibility/blend_mode = 1 +texture = ExtResource( 4 ) + +[node name="anim" type="AnimationPlayer" parent="red_light"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 2 ) +anims/motion2 = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion" + +[node name="green_light" type="Light2D" parent="."] + +transform/pos = Vector2( 753.756, 314.336 ) +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 0.49247, 0.878537, 0.409146, 1 ) +energy = 1.0 +mode = 0 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="blob" type="Sprite" parent="green_light"] + +visibility/blend_mode = 1 +texture = ExtResource( 4 ) + +[node name="anim" type="AnimationPlayer" parent="green_light"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/m2 = SubResource( 3 ) +anims/motion = SubResource( 2 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "m2" + +[node name="blue_light" type="Light2D" parent="."] + +transform/pos = Vector2( 692.078, 29.8849 ) +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 1.0 +color = Color( 0.396752, 0.446392, 0.929792, 1 ) +energy = 1.0 +mode = 0 +range/height = 0.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = true +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="blob" type="Sprite" parent="blue_light"] + +visibility/blend_mode = 1 +texture = ExtResource( 4 ) + +[node name="anim" type="AnimationPlayer" parent="blue_light"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 2 ) +anims/motion2 = SubResource( 3 ) +anims/motion3 = SubResource( 4 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion3" + + diff --git a/demos/2d/lookat/engine.cfg b/demos/2d/lookat/engine.cfg index 81df107f0e..c37f39386e 100644 --- a/demos/2d/lookat/engine.cfg +++ b/demos/2d/lookat/engine.cfg @@ -1,5 +1,5 @@ [application] name="Look At Pointer" -main_scene="res://lookat.scn" +main_scene="res://lookat.tscn" icon="res://icon.png" diff --git a/demos/2d/lookat/lookat.scn b/demos/2d/lookat/lookat.scn Binary files differdeleted file mode 100644 index 66be060c06..0000000000 --- a/demos/2d/lookat/lookat.scn +++ /dev/null diff --git a/demos/2d/lookat/lookat.tscn b/demos/2d/lookat/lookat.tscn new file mode 100644 index 0000000000..8505dcc972 --- /dev/null +++ b/demos/2d/lookat/lookat.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://arrow.png" type="Texture" id=1] +[ext_resource path="res://lookat.gd" type="Script" id=2] + +[node name="lookatscene" type="Node2D"] + +[node name="direct" type="Sprite" parent="."] + +transform/pos = Vector2( 132, 105 ) +texture = ExtResource( 1 ) +modulate = Color( 1, 0.799619, 0.734765, 1 ) +script/script = ExtResource( 2 ) +mode = 0 + +[node name="constant" type="Sprite" parent="."] + +transform/pos = Vector2( 611, 216 ) +texture = ExtResource( 1 ) +modulate = Color( 0.751241, 0.662843, 1, 1 ) +script/script = ExtResource( 2 ) +mode = 1 + +[node name="smooth" type="Sprite" parent="."] + +transform/pos = Vector2( 314, 457 ) +texture = ExtResource( 1 ) +modulate = Color( 0.749446, 1, 0.782884, 1 ) +script/script = ExtResource( 2 ) +mode = 2 + + diff --git a/demos/2d/motion/engine.cfg b/demos/2d/motion/engine.cfg index 6e660572d6..5395398e16 100644 --- a/demos/2d/motion/engine.cfg +++ b/demos/2d/motion/engine.cfg @@ -1,7 +1,7 @@ [application] name="Motion Test" -main_scene="res://motion.scn" +main_scene="res://motion.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/motion/motion.scn b/demos/2d/motion/motion.scn Binary files differdeleted file mode 100644 index 6e19356674..0000000000 --- a/demos/2d/motion/motion.scn +++ /dev/null diff --git a/demos/2d/motion/motion.tscn b/demos/2d/motion/motion.tscn new file mode 100644 index 0000000000..920ee55423 --- /dev/null +++ b/demos/2d/motion/motion.tscn @@ -0,0 +1,135 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://car.png" type="Texture" id=1] +[ext_resource path="res://motion.gd" type="Script" id=2] + +[sub_resource type="Animation" id=1] + +resource/name = "motion" +length = 5.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 5 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( -113, 154 ), Vector2( 907, 154 ) ] } + +[node name="Node2D" type="Node2D"] + +[node name="idle" type="Node2D" parent="."] + +[node name="car" type="Sprite" parent="idle"] + +transform/pos = Vector2( -113, 154 ) +texture = ExtResource( 1 ) + +[node name="anim" type="AnimationPlayer" parent="idle/car"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion" + +[node name="Label" type="Label" parent="idle"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 27.0 +margin/top = 80.0 +margin/right = 104.0 +margin/bottom = 93.0 +text = "Idle Process Animation" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="fixed" type="Node2D" parent="."] + +transform/pos = Vector2( 0, 106 ) + +[node name="car" type="Sprite" parent="fixed"] + +transform/pos = Vector2( -113, 154 ) +texture = ExtResource( 1 ) + +[node name="anim" type="AnimationPlayer" parent="fixed/car"] + +playback/process_mode = 0 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion" + +[node name="Label1" type="Label" parent="fixed"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 27.0 +margin/top = 80.0 +margin/right = 104.0 +margin/bottom = 93.0 +text = "Fixed Process Animation" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="code_idle" type="Node2D" parent="."] + +transform/pos = Vector2( 0, 215 ) + +[node name="car" type="Sprite" parent="code_idle"] + +transform/pos = Vector2( -113, 154 ) +texture = ExtResource( 1 ) +script/script = ExtResource( 2 ) +use_idle = true + +[node name="Label1" type="Label" parent="code_idle"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 27.0 +margin/top = 80.0 +margin/right = 104.0 +margin/bottom = 93.0 +text = "Idle Process Code" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="code_fixed" type="Node2D" parent="."] + +transform/pos = Vector2( 0, 324 ) + +[node name="car" type="Sprite" parent="code_fixed"] + +transform/pos = Vector2( -113, 154 ) +texture = ExtResource( 1 ) +script/script = ExtResource( 2 ) +use_idle = false + +[node name="Label1" type="Label" parent="code_fixed"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 27.0 +margin/top = 80.0 +margin/right = 104.0 +margin/bottom = 93.0 +text = "Fixed Process Code" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/navpoly/engine.cfg b/demos/2d/navpoly/engine.cfg index b750419915..e9921c4b5b 100644 --- a/demos/2d/navpoly/engine.cfg +++ b/demos/2d/navpoly/engine.cfg @@ -1,7 +1,7 @@ [application] name="Navigation Polygon (2D)" -main_scene="res://navigation.scn" +main_scene="res://navigation.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/navpoly/navigation.scn b/demos/2d/navpoly/navigation.scn Binary files differdeleted file mode 100644 index c56270bfd3..0000000000 --- a/demos/2d/navpoly/navigation.scn +++ /dev/null diff --git a/demos/2d/navpoly/navigation.tscn b/demos/2d/navpoly/navigation.tscn new file mode 100644 index 0000000000..b28c917be5 --- /dev/null +++ b/demos/2d/navpoly/navigation.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://navigation.gd" type="Script" id=1] +[ext_resource path="res://path.png" type="Texture" id=2] +[ext_resource path="res://agent.png" type="Texture" id=3] + +[sub_resource type="NavigationPolygon" id=1] + +vertices = Vector2Array( 587.833, 271.924, 530.464, 284.878, 508.256, 281.177, 497.153, 255.269, 669.26, 297.833, 648.903, 321.891, 650.754, 251.567, 619.293, 510.654, 676.663, 493.998, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 710.106, 179.216, 630.397, 212.704, 597.086, 192.348, 648.903, 394.065, 621.144, 486.596, 618.011, 402.479, 624.926, 359.595, 605.437, 456.366, 598.937, 492.148, 471.244, 251.567, 421.277, 270.074, 428.68, 246.015, 502.704, 97.9661, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 495.302, 164.588, 487.899, 85.0117, 310.24, 75.7586, 308.39, 92.4142, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 288.033, 231.211, 319.493, 190.497, 193.651, 423.675, 245.469, 477.343, 221.41, 488.446, 147.386, 408.87, 182.548, 382.961, 145.584, 224.311, 175.145, 332.995, 202.904, 99.8167, 310.24, 62.8043, 695.169, 303.385, 682.214, 284.878, 524.608, 359.37, 526.762, 342.248, 538.077, 499.891, 571.177, 501.401, 395.879, 501.87, 536.407, 524.944, 371.311, 518.056, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 350.954, 447.733, 363.908, 351.501, 384.265, 351.501, 376.862, 418.123, 373.441, 436.494, 424.978, 334.845, 421.277, 360.754, 352.804, 320.04, 321.344, 338.546, 299.136, 283.028, 241.767, 327.443, 234.365, 244.165, 325.228, 486.302, 300.441, 497.494, 317.643, 447.733, 332.441, 457.494, 366.441, 467.494, 480.497, 434.779, 518.035, 461.477, 476.441, 468.494, 265.825, 407.019, 184.398, 349.65, 310.24, 112.771, 267.676, 153.485, 221.41, 171.991, 700.721, 268.223, 397.219, 188.646, 415.725, 177.543, 465.692, 179.393, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 452.738, 166.439, 460.14, 123.875, 476.796, 149.783, 189.95, 231.211 ) +polygons = [ IntArray( 0, 1, 2, 3 ), IntArray( 4, 5, 6 ), IntArray( 7, 8, 9, 10, 11 ), IntArray( 12, 13, 14, 15, 16, 17 ), IntArray( 18, 19, 20, 21 ), IntArray( 22, 20, 19, 23 ), IntArray( 24, 3, 2, 25, 26 ), IntArray( 27, 28, 29, 30, 31 ), IntArray( 28, 27, 32 ), IntArray( 33, 28, 32, 34 ), IntArray( 35, 36, 37, 38, 39 ), IntArray( 40, 41, 42, 43 ), IntArray( 44, 40, 43 ), IntArray( 44, 43, 45, 46 ), IntArray( 47, 48, 33, 34 ), IntArray( 49, 9, 8, 4, 50 ), IntArray( 50, 4, 6 ), IntArray( 21, 20, 51, 52 ), IntArray( 53, 22, 23, 54 ), IntArray( 23, 7, 11, 54 ), IntArray( 55, 53, 54, 56, 57 ), IntArray( 14, 58, 59, 60, 15 ), IntArray( 61, 62, 63, 64, 65 ), IntArray( 66, 67, 63, 68 ), IntArray( 68, 63, 62, 69, 70 ), IntArray( 70, 69, 71, 72 ), IntArray( 70, 72, 38, 37 ), IntArray( 73, 55, 57, 74 ), IntArray( 73, 74, 75, 76 ), IntArray( 65, 77, 76, 61 ), IntArray( 78, 2, 1, 52, 51 ), IntArray( 78, 51, 79, 80 ), IntArray( 78, 80, 65, 64 ), IntArray( 81, 61, 76, 75 ), IntArray( 81, 75, 44, 82 ), IntArray( 47, 34, 83, 84, 85 ), IntArray( 15, 86, 50, 6, 16 ), IntArray( 12, 17, 3, 24 ), IntArray( 26, 25, 87, 88 ), IntArray( 89, 31, 30, 90, 91 ), IntArray( 89, 91, 92, 93 ), IntArray( 39, 94, 95, 93, 92 ), IntArray( 39, 92, 88 ), IntArray( 39, 88, 87, 35 ), IntArray( 39, 38, 85, 84 ), IntArray( 45, 47, 85, 96 ), IntArray( 45, 96, 46 ), IntArray( 44, 46, 82 ) ] +outlines = [ Vector2Array( 221.41, 488.446, 147.386, 408.87, 145.584, 224.311, 202.904, 99.8167, 310.24, 62.8043, 310.24, 75.7586, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 415.725, 177.543, 428.68, 246.015, 471.244, 251.567, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 710.106, 179.216, 700.721, 268.223, 682.214, 284.878, 695.169, 303.385, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 571.177, 501.401, 536.407, 524.944, 371.311, 518.056, 300.441, 497.494, 317.643, 447.733, 182.548, 382.961, 193.651, 423.675, 245.469, 477.343 ), Vector2Array( 350.954, 447.733, 363.908, 351.501, 321.344, 338.546, 241.767, 327.443, 234.365, 244.165, 288.033, 231.211, 221.41, 171.991, 189.95, 231.211, 175.145, 332.995, 184.398, 349.65, 265.825, 407.019 ), Vector2Array( 267.676, 153.485, 310.24, 112.771, 308.39, 92.4142, 487.899, 85.0117, 502.704, 97.9661, 495.302, 164.588, 465.692, 179.393, 452.738, 166.439, 476.796, 149.783, 460.14, 123.875, 319.493, 190.497 ), Vector2Array( 397.219, 188.646, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 299.136, 283.028, 352.804, 320.04, 424.978, 334.845, 421.277, 360.754, 384.265, 351.501, 376.862, 418.123, 480.497, 434.779, 508.256, 281.177, 421.277, 270.074 ), Vector2Array( 497.153, 255.269, 597.086, 192.348, 630.397, 212.704, 650.754, 251.567, 648.903, 321.891, 669.26, 297.833, 676.663, 493.998, 619.293, 510.654, 598.937, 492.148, 621.144, 486.596, 648.903, 394.065, 624.926, 359.595, 526.762, 342.248, 530.464, 284.878, 587.833, 271.924 ), Vector2Array( 325.228, 486.302, 332.441, 457.494, 366.441, 467.494, 373.441, 436.494, 476.441, 468.494, 518.035, 461.477, 524.608, 359.37, 618.011, 402.479, 605.437, 456.366, 538.077, 499.891, 395.879, 501.87 ) ] + +[node name="navigation" type="Navigation2D"] + +script/script = ExtResource( 1 ) + +[node name="path" type="Sprite" parent="."] + +transform/pos = Vector2( 429.585, 287.32 ) +texture = ExtResource( 2 ) + +[node name="navpoly" type="NavigationPolygonInstance" parent="."] + +navpoly = SubResource( 1 ) +enabled = true + +[node name="agent" type="Sprite" parent="."] + +transform/pos = Vector2( 228.464, 132.594 ) +transform/scale = Vector2( 0.5, 0.5 ) +texture = ExtResource( 3 ) +offset = Vector2( 0, -26 ) + + diff --git a/demos/2d/normalmaps/engine.cfg b/demos/2d/normalmaps/engine.cfg index 4f9f4f67f0..ba5fcca853 100644 --- a/demos/2d/normalmaps/engine.cfg +++ b/demos/2d/normalmaps/engine.cfg @@ -1,7 +1,7 @@ [application] name="2D Normal Mapping" -main_scene="res://normalmap.scn" +main_scene="res://normalmap.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/normalmaps/normal_material.res b/demos/2d/normalmaps/normal_material.res Binary files differdeleted file mode 100644 index 27928519f8..0000000000 --- a/demos/2d/normalmaps/normal_material.res +++ /dev/null diff --git a/demos/2d/normalmaps/normal_material.tres b/demos/2d/normalmaps/normal_material.tres new file mode 100644 index 0000000000..2741fbfe94 --- /dev/null +++ b/demos/2d/normalmaps/normal_material.tres @@ -0,0 +1,14 @@ +[gd_resource type="CanvasItemMaterial" load_steps=3 format=1] + +[ext_resource path="res://normal.jpg" type="Texture" id=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"uniform texture normal;\n//normal maps expect Y-up, but 2D is Y-down, so must mirror this.\nNORMAL = tex(normal,UV).rgb * vec3(2.0,-2.0,1.0) - vec3(1.0,-1.0,0.0);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[resource] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/normal = ExtResource( 1 ) + diff --git a/demos/2d/normalmaps/normalmap.scn b/demos/2d/normalmaps/normalmap.scn Binary files differdeleted file mode 100644 index 4501e7116a..0000000000 --- a/demos/2d/normalmaps/normalmap.scn +++ /dev/null diff --git a/demos/2d/normalmaps/normalmap.tscn b/demos/2d/normalmaps/normalmap.tscn new file mode 100644 index 0000000000..c7f8feb0f4 --- /dev/null +++ b/demos/2d/normalmaps/normalmap.tscn @@ -0,0 +1,63 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://normal_material.tres" type="CanvasItemMaterial" id=1] +[ext_resource path="res://diffuse.jpg" type="Texture" id=2] +[ext_resource path="res://light.png" type="Texture" id=3] + +[sub_resource type="Animation" id=1] + +resource/name = "motion" +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("light:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 2.5, 5, 7.5 ), "transitions":FloatArray( -2, -2, -2, -2 ), "values":[ Vector2( 177.912, 174.508 ), Vector2( 612.159, 161.147 ), Vector2( 667.275, 526.917 ), Vector2( 177.912, 526.917 ) ] } + +[node name="base" type="Node2D"] + +[node name="sprite" type="Sprite" parent="."] + +material/material = ExtResource( 1 ) +transform/pos = Vector2( 400, 300 ) +texture = ExtResource( 2 ) + +[node name="ambient" type="CanvasModulate" parent="."] + +color = Color( 0.0657094, 0.202485, 0.328838, 1 ) + +[node name="light" type="Light2D" parent="."] + +transform/pos = Vector2( 177.912, 174.508 ) +enabled = true +texture = ExtResource( 3 ) +offset = Vector2( 0, 0 ) +scale = 0.8 +color = Color( 1, 1, 1, 1 ) +energy = 1.0 +mode = 0 +range/height = 200.0 +range/z_min = -1024 +range/z_max = 1024 +range/layer_min = 0 +range/layer_max = 0 +range/item_mask = 1 +shadow/enabled = false +shadow/color = Color( 0, 0, 0, 0 ) +shadow/buffer_size = 2048 +shadow/esm_multiplier = 80.0 +shadow/item_mask = 1 + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/motion = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "motion" + + diff --git a/demos/2d/particles/engine.cfg b/demos/2d/particles/engine.cfg index b3dd540561..4b91966d8a 100644 --- a/demos/2d/particles/engine.cfg +++ b/demos/2d/particles/engine.cfg @@ -1,5 +1,5 @@ [application] name="Particle Systems" -main_scene="res://particles.xml" +main_scene="res://particles.tscn" icon="res://icon.png" diff --git a/demos/2d/particles/particles.tscn b/demos/2d/particles/particles.tscn new file mode 100644 index 0000000000..c9aca0518f --- /dev/null +++ b/demos/2d/particles/particles.tscn @@ -0,0 +1,174 @@ +[gd_scene load_steps=8 format=1] + +[ext_resource path="res://fire_particle.png" type="Texture" id=1] +[ext_resource path="res://smoke_particle.png" type="Texture" id=2] +[ext_resource path="res://spark_particle2.png" type="Texture" id=3] + +[sub_resource type="ColorRamp" id=1] + +offsets = FloatArray( 0, 0.1, 1 ) +colors = ColorArray( 1, 1, 1, 0, 0.886275, 0.371681, 0, 1, 1, 0.99115, 1, 0 ) + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 0.2, 1 ) +colors = ColorArray( 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0 ) + +[sub_resource type="ColorRamp" id=3] + +offsets = FloatArray( 0, 0.1, 0.5, 1 ) +colors = ColorArray( 1, 1, 1, 0.870518, 1, 0.47451, 0.6, 1, 0.529412, 0.74902, 1, 1, 0, 1, 0.698039, 0 ) + +[sub_resource type="ColorRamp" id=4] + +offsets = FloatArray( 0, 0.1, 0.7, 1 ) +colors = ColorArray( 1, 1, 1, 0, 0.886275, 0.401015, 0, 1, 1, 0.679866, 0.432123, 0.12654, 0, 0, 0, 0 ) + +[node name="Node" type="Node"] + +[node name="Fire" type="Particles2D" parent="."] + +visibility/blend_mode = 1 +transform/pos = Vector2( 165.787, 527.801 ) +transform/rot = -179.791 +config/amount = 32 +config/lifetime = 1.0 +config/half_extents = Vector2( 15, 15 ) +config/local_space = false +config/texture = ExtResource( 1 ) +params/direction = 0.0 +params/spread = 0.0 +params/linear_velocity = 20.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 180.0 +params/gravity_strength = 80.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 180.0 +params/initial_size = 0.7 +params/final_size = 0.3 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/initial_angle = 2.0 +color/color_ramp = SubResource( 1 ) + +[node name="Smoke" type="Particles2D" parent="."] + +transform/pos = Vector2( 377.396, 543.147 ) +transform/rot = 176.576 +config/amount = 32 +config/lifetime = 4.0 +config/local_space = false +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 20.9073 +params/linear_velocity = 47.1515 +params/spin_velocity = 1.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 180.0 +params/initial_size = 1.0 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +randomness/initial_angle = 1.0 +color/color_ramp = SubResource( 2 ) + +[node name="Magic" type="Particles2D" parent="."] + +transform/pos = Vector2( 593.848, 531.064 ) +config/amount = 32 +config/lifetime = 2.0 +config/half_extents = Vector2( 40, 40 ) +config/local_space = false +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 20.0 +params/spin_velocity = 0.3 +params/orbit_velocity = 0.01 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 15.5152 +params/damping = 0.0 +params/initial_angle = 45.0 +params/initial_size = 3.0 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +randomness/orbit_velocity = 100.0 +randomness/initial_angle = 1.0 +color/color_ramp = SubResource( 3 ) + +[node name="Explosion" type="Particles2D" parent="."] + +visibility/behind_parent = true +visibility/blend_mode = 1 +transform/pos = Vector2( 613.467, 182.62 ) +transform/rot = -179.791 +config/amount = 32 +config/lifetime = 2.0 +config/time_scale = 2.0 +config/half_extents = Vector2( 15, 15 ) +config/local_space = false +config/explosiveness = 0.05 +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 184.547 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 180.0 +params/gravity_strength = 80.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 366.3 +params/initial_angle = 1.0 +params/initial_size = 0.7 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 4 ) + +[node name="Mask" type="Particles2D" parent="."] + +transform/pos = Vector2( 192.975, 141.598 ) +config/amount = 170 +config/lifetime = 0.1 +config/half_extents = Vector2( 128, 128 ) +config/local_space = false +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 0.0 +params/spin_velocity = 2.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 1.0 +params/initial_size = 1.0 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +color/color = Color( 1, 0.477876, 0.60177, 1 ) +emission_points = Vector2Array( -0.125, -0.03125, 0.65625, -0.148438, 0.609375, 0.0234375, -0.757812, 0.375, 0.265625, 0.078125, 0.632812, 0.382812, 0.671875, 0.414062, 0.367188, -0.226562, 0.75, -0.125, 0.4375, 0.421875, 0.335938, -0.148438, -0.125, 0.257812, -0.171875, 0.359375, -0.601562, -0.265625, 0.375, 0.382812, -0.296875, 0.09375, -0.664062, -0.21875, -0.554688, -0.226562, -0.320312, 0.367188, -0.320312, -0.257812, 0, -0.257812, 0.578125, -0.25, -0.164062, 0.109375, -0.578125, -0.015625, -0.445312, 0, 0.273438, 0.101562, 0.320312, 0.03125, -0.125, 0.0703125, -0.570312, 0.289062, 0.257812, -0.09375, -0.585938, 0.179688, -0.664062, 0.0234375, -0.25, -0.0859375, 0.6875, -0.109375, 0.234375, 0, -0.5, -0.265625, 0.710938, 0.335938, 0.609375, -0.046875, 0.664062, -0.210938, -0.242188, -0.21875, -0.484375, -0.257812, -0.453125, 0.414062, 0.609375, -0.203125, 0.289062, 0.132812, -0.03125, -0.257812, -0.492188, -0.1875, 0.5625, -0.140625, -0.5625, 0.148438, -0.257812, -0.234375, -0.140625, 0.15625, -0.5625, 0.109375, 0.132812, 0.398438, -0.640625, -0.25, -0.585938, 0.304688, -0.328125, -0.257812, 0.226562, 0.148438, -0.546875, 0.210938, 0.625, 0.179688, 0.648438, -0.0078125, 0.367188, 0.328125, 0.265625, 0.0546875, -0.59375, -0.273438, -0.203125, 0.21875, 0.570312, -0.21875, -0.695312, 0.078125, -0.375, 0.03125, -0.164062, 0.0390625, 0.265625, 0.226562, -0.625, -0.109375, 0.203125, -0.132812, -0.671875, 0.328125, 0.625, -0.179688, -0.640625, 0.0859375, 0.65625, 0, -0.242188, 0.414062, 0.242188, 0.25, -0.148438, -0.0625, 0.390625, -0.25, 0.664062, 0.351562, 0.320312, 0.203125, -0.546875, 0.335938, 0.328125, -0.148438, 0.609375, -0.0625, -0.171875, 0.046875, -0.578125, 0.0546875, -0.304688, -0.28125, 0.734375, -0.0546875, 0.679688, 0.390625, -0.460938, 0.0859375, -0.703125, 0.101562, -0.140625, 0.234375, -0.507812, 0.078125, -0.25, 0.304688, -0.046875, 0.359375, 0.1875, 0.0703125, -0.570312, 0.242188, 0.65625, 0.0859375, -0.203125, -0.265625, -0.164062, -0.179688, 0.367188, -0.1875, -0.601562, -0.101562, -0.117188, -0.210938, -0.546875, 0.109375, -0.585938, -0.28125, -0.59375, -0.03125, 0.3125, -0.179688, 0.414062, 0.429688, -0.476562, -0.195312, -0.0703125, -0.21875, -0.5625, 0.304688, -0.609375, 0.226562, 0.429688, 0.429688, 0.203125, 0.242188, 0.078125, 0.367188, 0.242188, 0.03125, 0.601562, -0.0390625, 0.328125, 0.03125, -0.53125, -0.195312, -0.53125, -0.210938, 0.3125, -0.257812, 0.445312, -0.273438, 0.273438, -0.273438, -0.695312, -0.179688, 0.234375, -0.15625, -0.546875, -0.242188, -0.234375, -0.125, 0.734375, -0.226562, 0.367188, -0.234375, -0.15625, 0.046875, -0.445312, -0.226562, 0.625, 0.03125, -0.0859375, 0.210938, -0.648438, 0.296875, 0.335938, -0.109375, 0.625, -0.078125, 0.601562, 0.351562, 0.242188, 0.140625, 0.0234375, -0.273438, -0.679688, -0.109375, 0.640625, 0.15625, 0.171875, 0.0859375, -0.273438, -0.273438, -0.242188, 0.34375, 0.179688, 0.15625, -0.179688, -0.117188, 0.671875, 0.03125, -0.640625, 0.304688, 0.109375, -0.242188, -0.210938, 0.382812, -0.0859375, 0.0078125, -0.695312, 0.078125, 0.296875, 0.320312, 0.304688, -0.226562, 0.257812, -0.0234375, -0.203125, -0.015625, -0.648438, 0.335938, -0.703125, -0.132812, -0.273438, -0.210938, -0.15625, -0.273438, -0.0390625, 0.335938, 0.617188, 0.179688, 0.34375, 0.390625, -0.210938, -0.132812, -0.226562, -0.117188, 0.617188, -0.289062, 0.125, -0.21875, 0.71875, -0.164062, -0.570312, 0.1875, -0.1875, 0.382812, 0.640625, -0.296875, -0.125, 0.109375, 0.671875, 0.289062, -0.515625, 0.382812, 0.359375, -0.179688, 0.726562, -0.226562, 0.25, 0.320312, -0.328125, 0, -0.117188, -0.234375, -0.210938, -0.148438, -0.546875, -0.117188, 0.359375, 0.429688, -0.15625, -0.226562, 0.632812, -0.257812, -0.28125, -0.273438, 0.265625, 0.015625, -0.765625, 0.351562, 0.703125, 0.421875, -0.585938, 0.0078125, 0.28125, 0.109375, 0.304688, 0.171875, 0.65625, 0.421875, 0.078125, 0.382812, 0.179688, 0.25, -0.382812, 0.0703125, 0.585938, -0.140625, -0.109375, 0.382812, -0.59375, -0.09375, 0.4375, 0.398438, -0.132812, 0.0234375, -0.625, 0.0078125, -0.210938, -0.21875, -0.25, 0.257812, 0.257812, 0.398438, 0.625, 0.195312, 0.148438, -0.234375, -0.476562, 0.398438, -0.210938, 0.046875, 0.695312, -0.101562, 0.695312, 0.140625, -0.492188, -0.1875, 0.25, -0.09375, -0.195312, -0.195312, -0.328125, 0.0703125, -0.242188, -0.0625, 0.296875, 0.34375, -0.632812, 0.0078125, -0.265625, 0.09375, 0.421875, -0.203125, 0.171875, 0.03125, -0.09375, -0.0703125, 0.289062, 0.0859375, -0.609375, 0.390625, -0.554688, 0.257812, -0.6875, 0.0078125, 0.304688, 0.414062, 0.226562, 0.390625, -0.21875, -0.28125, 0.265625, 0.320312, -0.671875, 0.234375, -0.210938, 0.03125, 0.679688, -0.0234375, 0.359375, -0.203125, 0.3125, 0.289062, 0.671875, 0.140625, -0.78125, 0.414062, -0.546875, 0.40625, 0.625, 0.367188, 0.0859375, 0.421875, 0.1875, -0.09375, 0.617188, 0.40625, -0.078125, -0.0390625, 0.695312, 0.0859375, -0.6875, -0.265625, 0.421875, -0.265625, 0.601562, -0.0234375, -0.3125, -0.265625, -0.078125, 0.046875, 0.617188, 0.164062, 0.273438, -0.03125, -0.695312, -0.015625, -0.5625, 0.164062, -0.578125, 0.265625, -0.726562, 0.421875, -0.078125, -0.25, -0.171875, 0.171875, -0.234375, -0.0390625, 0.257812, 0.429688, -0.179688, -0.117188, 0.351562, -0.03125, -0.78125, -0.234375, -0.546875, -0.171875, -0.460938, -0.234375, -0.164062, 0.09375, -0.65625, 0.398438, -0.445312, 0.0859375, -0.71875, -0.226562, 0.671875, 0.101562, -0.46875, -0.195312, -0.71875, -0.265625, 0.617188, 0.125, -0.78125, -0.21875, -0.226562, -0.15625, 0.21875, 0.0234375, 0.289062, 0.101562, 0.648438, -0.171875, 0.390625, -0.273438, -0.257812, 0.078125, -0.21875, 0, 0.65625, -0.203125, -0.679688, 0.171875, -0.1875, 0.328125, -0.46875, -0.28125, 0.273438, 0, 0.664062, 0.296875, -0.140625, 0.335938, -0.625, 0.382812, -0.34375, -0.21875, -0.171875, -0.25, -0.546875, -0.117188, -0.117188, -0.203125, -0.1875, 0.351562, -0.585938, -0.109375, -0.203125, -0.0625, -0.570312, 0.03125, -0.5625, -0.109375, 0.601562, -0.195312, 0.3125, 0.140625, -0.101562, 0.25, 0.25, 0.3125, 0.125, -0.203125, -0.09375, -0.140625, -0.242188, 0.414062, 0.664062, -0.0625, -0.21875, -0.078125, 0.6875, -0.210938, -0.140625, 0.015625, -0.632812, -0.25, -0.109375, 0.234375, -0.695312, 0.015625, -0.3125, -0.28125, 0.296875, -0.0234375, 0.296875, 0.203125, -0.125, 0.234375, 0.570312, 0.390625, -0.554688, 0.203125, -0.5625, 0.351562, -0.15625, 0.21875, -0.375, 0.0390625, -0.226562, -0.140625, 0.695312, 0.164062, 0.632812, 0.367188, -0.328125, -0.210938, -0.59375, 0.34375, 0.304688, -0.242188, -0.34375, 0.0703125, -0.679688, -0.179688, 0.664062, 0.101562, 0.34375, 0.171875, -0.695312, -0.078125, -0.242188, -0.0546875, 0.304688, -0.234375, -0.0078125, -0.21875, -0.632812, 0.203125, 0.625, 0.03125, -0.414062, 0.015625, 0.273438, -0.078125, 0.695312, 0.28125, 0.34375, 0.101562, -0.164062, 0.289062, -0.1875, 0.273438, -0.203125, 0.0703125, 0.734375, -0.171875, -0.59375, 0.34375, -0.15625, 0.210938, 0.429688, 0.375, -0.234375, 0.34375, 0.617188, 0.101562, 0.703125, 0, -0.578125, 0.148438, 0.21875, -0.171875, -0.304688, 0.375, -0.65625, -0.09375, -0.101562, 0.25, -0.4375, 0.03125, -0.242188, 0.421875, -0.546875, 0.0625, -0.632812, -0.148438, -0.125, 0.179688, 0.179688, 0.304688, -0.265625, 0.078125, -0.289062, 0.421875, -0.585938, 0.1875, -0.289062, 0.34375, 0.273438, 0.367188, -0.109375, 0.117188, 0.34375, 0.046875, -0.0625, 0.320312, 0.6875, -0.234375, -0.523438, 0.320312, -0.09375, -0.242188, -0.65625, 0.25, -0.609375, -0.117188, -0.140625, 0.140625, 0.28125, -0.09375, -0.625, -0.28125, 0.34375, 0.328125, 0.265625, 0.109375, -0.609375, 0.0078125, -0.078125, -0.234375, -0.289062, -0.203125, 0.289062, 0.289062, -0.0859375, 0.0078125, -0.101562, -0.28125, -0.625, -0.101562, -0.546875, 0.382812, -0.539062, -0.195312, -0.210938, 0.046875, -0.492188, 0.390625, -0.664062, -0.0703125, 0.71875, -0.101562, -0.140625, -0.046875, 0.695312, 0.289062, -0.710938, 0.429688, -0.703125, 0.3125, -0.203125, 0.109375, 0.421875, -0.273438, 0.304688, 0.21875, 0.328125, 0.257812, -0.632812, -0.0703125, 0.320312, -0.140625, 0.265625, -0.203125, -0.109375, -0.179688, 0.25, -0.210938, 0.65625, 0.109375, -0.648438, -0.0625, -0.0859375, 0.375, -0.429688, 0.398438, 0.320312, 0.3125, -0.0703125, 0.265625, 0.648438, 0.0078125, 0.320312, 0.335938, 0.398438, 0.421875, -0.101562, -0.0625, -0.296875, 0.40625, 0.695312, -0.0390625, 0.335938, 0.21875, -0.546875, 0.117188, -0.476562, 0.390625, -0.648438, 0.117188, -0.078125, -0.28125, 0.328125, 0.289062, -0.226562, 0.179688, 0.226562, 0.375, -0.429688, 0.382812, -0.0546875, 0.34375, 0.59375, -0.125, 0.632812, 0.265625, 0.226562, 0.3125, -0.523438, -0.140625, -0.546875, 0.046875, 0.242188, -0.148438, -0.648438, 0.0234375, -0.289062, 0, -0.546875, 0.101562, -0.125, -0.0625, -0.492188, 0.367188, 0.328125, 0.15625, -0.351562, 0.0546875, -0.609375, 0.414062, -0.296875, 0.09375, 0.671875, -0.203125, -0.257812, -0.273438, -0.335938, 0.414062, 0.65625, -0.195312, -0.601562, -0.101562, -0.203125, -0.078125, 0.210938, 0.242188, 0.296875, 0.335938, -0.578125, 0.40625, -0.664062, -0.078125, -0.0859375, 0.390625, 0.171875, 0.304688, -0.6875, 0.390625, -0.554688, 0.0078125, -0.570312, -0.179688, -0.210938, -0.09375, 0.726562, -0.03125, -0.546875, -0.0859375, -0.265625, -0.171875, -0.65625, 0.179688, -0.171875, 0.257812, -0.164062, -0.171875, 0.203125, 0.335938, -0.640625, 0.21875, 0.390625, 0.375, 0.6875, -0.234375, 0.742188, 0.34375, -0.0546875, 0.351562, -0.632812, 0.195312, 0.671875, -0.21875, 0.195312, 0.015625, 0.226562, 0.117188, -0.507812, 0.078125, -0.140625, -0.15625, 0.703125, -0.28125, 0.226562, -0.140625, 0.328125, 0.421875, 0.3125, 0.1875, 0.703125, 0.078125, 0.351562, 0.289062, 0.21875, -0.242188, -0.328125, 0, 0.171875, 0.101562, -0.304688, -0.242188, -0.210938, 0.078125, 0.625, -0.0078125, 0.25, 0.242188, -0.664062, 0.117188, 0.203125, -0.140625, 0.226562, 0.429688, 0.328125, -0.203125, -0.679688, 0.0703125, -0.195312, -0.148438, -0.523438, 0.328125, 0.382812, -0.257812, 0.578125, -0.171875, 0.65625, 0.320312, -0.632812, -0.148438, 0.703125, 0.0703125, -0.53125, 0.398438, -0.414062, 0.03125, -0.0859375, 0.0546875, -0.53125, 0.335938, 0.304688, 0.429688, -0.234375, -0.148438, -0.375, 0.046875, -0.148438, 0.289062, -0.0390625, 0.421875, 0.226562, -0.125, -0.570312, 0.398438, -0.0703125, -0.0234375, 0.257812, -0.132812 ) + + diff --git a/demos/2d/particles/particles.xml b/demos/2d/particles/particles.xml deleted file mode 100644 index c21ccb1f55..0000000000 --- a/demos/2d/particles/particles.xml +++ /dev/null @@ -1,275 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="8" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://fire_particle.png" type="Texture" index="0"></ext_resource> - <ext_resource path="res://smoke_particle.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://spark_particle2.png" type="Texture" index="2"></ext_resource> - <resource type="ColorRamp" path="local://1"> - <real_array name="offsets" len="3"> 0, 0.1, 1 </real_array> - <color_array name="colors" len="3"> 1, 1, 1, 0, 0.886275, 0.371681, 0, 1, 1, 0.99115, 1, 0 </color_array> - - </resource> - <resource type="ColorRamp" path="local://2"> - <real_array name="offsets" len="3"> 0, 0.2, 1 </real_array> - <color_array name="colors" len="3"> 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0 </color_array> - - </resource> - <resource type="ColorRamp" path="local://3"> - <real_array name="offsets" len="4"> 0, 0.1, 0.5, 1 </real_array> - <color_array name="colors" len="4"> 1, 1, 1, 0.870518, 1, 0.47451, 0.6, 1, 0.529412, 0.74902, 1, 1, 0, 1, 0.698039, 0 </color_array> - - </resource> - <resource type="ColorRamp" path="local://4"> - <real_array name="offsets" len="4"> 0, 0.1, 0.7, 1 </real_array> - <color_array name="colors" len="4"> 1, 1, 1, 0, 0.886275, 0.401015, 0, 1, 1, 0.679866, 0.432123, 0.12654, 0, 0, 0, 0 </color_array> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="41"> - <string> "Node" </string> - <string> "__meta__" </string> - <string> "Fire" </string> - <string> "visibility/blend_mode" </string> - <string> "transform/pos" </string> - <string> "transform/rot" </string> - <string> "config/amount" </string> - <string> "config/lifetime" </string> - <string> "config/half_extents" </string> - <string> "config/local_space" </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_angle" </string> - <string> "params/initial_size" </string> - <string> "params/final_size" </string> - <string> "params/hue_variation" </string> - <string> "params/anim_speed_scale" </string> - <string> "params/anim_initial_pos" </string> - <string> "randomness/initial_angle" </string> - <string> "color/color_ramp" </string> - <string> "Particles2D" </string> - <string> "Smoke" </string> - <string> "randomness/spin_velocity" </string> - <string> "Magic" </string> - <string> "randomness/orbit_velocity" </string> - <string> "Explosion" </string> - <string> "visibility/behind_parent" </string> - <string> "config/time_scale" </string> - <string> "config/explosiveness" </string> - <string> "Mask" </string> - <string> "color/color" </string> - <string> "emission_points" </string> - </string_array> - <string> "node_count" </string> - <int> 6 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="304"> -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 29, 2, -1, 26, 3, 1, 4, 2, 5, 3, 6, 4, 7, 5, 8, 6, 9, 7, 10, 8, 11, 9, 12, 9, 13, 10, 14, 9, 15, 9, 16, 11, 17, 12, 18, 9, 19, 9, 20, 9, 21, 11, 22, 13, 23, 14, 24, 9, 25, 5, 26, 9, 27, 15, 28, 16, 0, 0, 0, 29, 30, -1, 25, 4, 17, 5, 18, 6, 4, 7, 19, 9, 7, 10, 20, 11, 9, 12, 21, 13, 22, 14, 5, 15, 9, 16, 9, 17, 9, 18, 9, 19, 9, 20, 9, 21, 11, 22, 5, 23, 23, 24, 9, 25, 5, 26, 9, 31, 5, 27, 5, 28, 24, 0, 0, 0, 29, 32, -1, 26, 4, 25, 6, 4, 7, 15, 8, 26, 9, 7, 10, 27, 11, 9, 12, 11, 13, 10, 14, 14, 15, 28, 16, 9, 17, 29, 18, 9, 19, 30, 20, 9, 21, 31, 22, 23, 23, 5, 24, 9, 25, 5, 26, 9, 31, 5, 33, 32, 27, 5, 28, 33, 0, 0, 0, 29, 34, -1, 28, 35, 34, 3, 1, 4, 35, 5, 3, 6, 4, 7, 15, 36, 15, 8, 6, 9, 7, 37, 36, 10, 20, 11, 9, 12, 11, 13, 37, 14, 9, 15, 9, 16, 11, 17, 12, 18, 9, 19, 9, 20, 38, 21, 5, 22, 13, 23, 23, 24, 9, 25, 5, 26, 9, 28, 39, 0, 0, 0, 29, 38, -1, 25, 4, 40, 6, 41, 7, 42, 8, 43, 9, 7, 10, 27, 11, 9, 12, 11, 13, 9, 14, 15, 15, 9, 16, 9, 17, 9, 18, 9, 19, 9, 20, 9, 21, 5, 22, 5, 23, 5, 24, 9, 25, 5, 26, 9, 31, 5, 39, 44, 40, 45, 0 </int_array> - <string> "variants" </string> - <array len="46" shared="false"> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -193.367, -465.428 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 0.440127 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <int> 1 </int> - <vector2> 165.787, 527.801 </vector2> - <real> -179.790649 </real> - <int> 32 </int> - <real> 1 </real> - <vector2> 15, 15 </vector2> - <bool> False </bool> - <resource external="0"> </resource> - <real> 0 </real> - <real> 20 </real> - <real> 180 </real> - <real> 80 </real> - <real> 0.7 </real> - <real> 0.3 </real> - <real> 2 </real> - <resource resource_type="ColorRamp" path="local://1"> </resource> - <vector2> 377.396, 543.147 </vector2> - <real> 176.575912 </real> - <real> 4 </real> - <resource external="1"> </resource> - <real> 20.907272 </real> - <real> 47.151516 </real> - <real> 3 </real> - <resource resource_type="ColorRamp" path="local://2"> </resource> - <vector2> 593.848, 531.064 </vector2> - <vector2> 40, 40 </vector2> - <resource external="2"> </resource> - <real> 0.01 </real> - <real> 9.8 </real> - <real> 15.515152 </real> - <real> 45 </real> - <real> 100 </real> - <resource resource_type="ColorRamp" path="local://3"> </resource> - <bool> True </bool> - <vector2> 613.467, 182.62 </vector2> - <real> 0.05 </real> - <real> 184.546997 </real> - <real> 366.300415 </real> - <resource resource_type="ColorRamp" path="local://4"> </resource> - <vector2> 192.975, 141.598 </vector2> - <int> 170 </int> - <real> 0.1 </real> - <vector2> 128, 128 </vector2> - <color> 1, 0.477876, 0.60177, 1 </color> - <vector2_array len="512"> -0.125, -0.03125, 0.65625, -0.148438, 0.609375, 0.0234375, -0.757812, 0.375, 0.265625, 0.078125, 0.632812, 0.382812, 0.671875, 0.414062, 0.367188, -0.226562, 0.75, -0.125, 0.4375, 0.421875, 0.335938, -0.148438, -0.125, 0.257812, -0.171875, 0.359375, -0.601562, -0.265625, 0.375, 0.382812, -0.296875, 0.09375, -0.664062, -0.21875, -0.554688, -0.226562, -0.320312, 0.367188, -0.320312, -0.257812, 0, -0.257812, 0.578125, -0.25, -0.164062, 0.109375, -0.578125, -0.015625, -0.445312, 0, 0.273438, 0.101562, 0.320312, 0.03125, -0.125, 0.0703125, -0.570312, 0.289062, 0.257812, -0.09375, -0.585938, 0.179688, -0.664062, 0.0234375, -0.25, -0.0859375, 0.6875, -0.109375, 0.234375, 0, -0.5, -0.265625, 0.710938, 0.335938, 0.609375, -0.046875, 0.664062, -0.210938, -0.242188, -0.21875, -0.484375, -0.257812, -0.453125, 0.414062, 0.609375, -0.203125, 0.289062, 0.132812, -0.03125, -0.257812, -0.492188, -0.1875, 0.5625, -0.140625, -0.5625, 0.148438, -0.257812, -0.234375, -0.140625, 0.15625, -0.5625, 0.109375, 0.132812, 0.398438, -0.640625, -0.25, -0.585938, 0.304688, -0.328125, -0.257812, 0.226562, 0.148438, -0.546875, 0.210938, 0.625, 0.179688, 0.648438, -0.0078125, 0.367188, 0.328125, 0.265625, 0.0546875, -0.59375, -0.273438, -0.203125, 0.21875, 0.570312, -0.21875, -0.695312, 0.078125, -0.375, 0.03125, -0.164062, 0.0390625, 0.265625, 0.226562, -0.625, -0.109375, 0.203125, -0.132812, -0.671875, 0.328125, 0.625, -0.179688, -0.640625, 0.0859375, 0.65625, 0, -0.242188, 0.414062, 0.242188, 0.25, -0.148438, -0.0625, 0.390625, -0.25, 0.664062, 0.351562, 0.320312, 0.203125, -0.546875, 0.335938, 0.328125, -0.148438, 0.609375, -0.0625, -0.171875, 0.046875, -0.578125, 0.0546875, -0.304688, -0.28125, 0.734375, -0.0546875, 0.679688, 0.390625, -0.460938, 0.0859375, -0.703125, 0.101562, -0.140625, 0.234375, -0.507812, 0.078125, -0.25, 0.304688, -0.046875, 0.359375, 0.1875, 0.0703125, -0.570312, 0.242188, 0.65625, 0.0859375, -0.203125, -0.265625, -0.164062, -0.179688, 0.367188, -0.1875, -0.601562, -0.101562, -0.117188, -0.210938, -0.546875, 0.109375, -0.585938, -0.28125, -0.59375, -0.03125, 0.3125, -0.179688, 0.414062, 0.429688, -0.476562, -0.195312, -0.0703125, -0.21875, -0.5625, 0.304688, -0.609375, 0.226562, 0.429688, 0.429688, 0.203125, 0.242188, 0.078125, 0.367188, 0.242188, 0.03125, 0.601562, -0.0390625, 0.328125, 0.03125, -0.53125, -0.195312, -0.53125, -0.210938, 0.3125, -0.257812, 0.445312, -0.273438, 0.273438, -0.273438, -0.695312, -0.179688, 0.234375, -0.15625, -0.546875, -0.242188, -0.234375, -0.125, 0.734375, -0.226562, 0.367188, -0.234375, -0.15625, 0.046875, -0.445312, -0.226562, 0.625, 0.03125, -0.0859375, 0.210938, -0.648438, 0.296875, 0.335938, -0.109375, 0.625, -0.078125, 0.601562, 0.351562, 0.242188, 0.140625, 0.0234375, -0.273438, -0.679688, -0.109375, 0.640625, 0.15625, 0.171875, 0.0859375, -0.273438, -0.273438, -0.242188, 0.34375, 0.179688, 0.15625, -0.179688, -0.117188, 0.671875, 0.03125, -0.640625, 0.304688, 0.109375, -0.242188, -0.210938, 0.382812, -0.0859375, 0.0078125, -0.695312, 0.078125, 0.296875, 0.320312, 0.304688, -0.226562, 0.257812, -0.0234375, -0.203125, -0.015625, -0.648438, 0.335938, -0.703125, -0.132812, -0.273438, -0.210938, -0.15625, -0.273438, -0.0390625, 0.335938, 0.617188, 0.179688, 0.34375, 0.390625, -0.210938, -0.132812, -0.226562, -0.117188, 0.617188, -0.289062, 0.125, -0.21875, 0.71875, -0.164062, -0.570312, 0.1875, -0.1875, 0.382812, 0.640625, -0.296875, -0.125, 0.109375, 0.671875, 0.289062, -0.515625, 0.382812, 0.359375, -0.179688, 0.726562, -0.226562, 0.25, 0.320312, -0.328125, 0, -0.117188, -0.234375, -0.210938, -0.148438, -0.546875, -0.117188, 0.359375, 0.429688, -0.15625, -0.226562, 0.632812, -0.257812, -0.28125, -0.273438, 0.265625, 0.015625, -0.765625, 0.351562, 0.703125, 0.421875, -0.585938, 0.0078125, 0.28125, 0.109375, 0.304688, 0.171875, 0.65625, 0.421875, 0.078125, 0.382812, 0.179688, 0.25, -0.382812, 0.0703125, 0.585938, -0.140625, -0.109375, 0.382812, -0.59375, -0.09375, 0.4375, 0.398438, -0.132812, 0.0234375, -0.625, 0.0078125, -0.210938, -0.21875, -0.25, 0.257812, 0.257812, 0.398438, 0.625, 0.195312, 0.148438, -0.234375, -0.476562, 0.398438, -0.210938, 0.046875, 0.695312, -0.101562, 0.695312, 0.140625, -0.492188, -0.1875, 0.25, -0.09375, -0.195312, -0.195312, -0.328125, 0.0703125, -0.242188, -0.0625, 0.296875, 0.34375, -0.632812, 0.0078125, -0.265625, 0.09375, 0.421875, -0.203125, 0.171875, 0.03125, -0.09375, -0.0703125, 0.289062, 0.0859375, -0.609375, 0.390625, -0.554688, 0.257812, -0.6875, 0.0078125, 0.304688, 0.414062, 0.226562, 0.390625, -0.21875, -0.28125, 0.265625, 0.320312, -0.671875, 0.234375, -0.210938, 0.03125, 0.679688, -0.0234375, 0.359375, -0.203125, 0.3125, 0.289062, 0.671875, 0.140625, -0.78125, 0.414062, -0.546875, 0.40625, 0.625, 0.367188, 0.0859375, 0.421875, 0.1875, -0.09375, 0.617188, 0.40625, -0.078125, -0.0390625, 0.695312, 0.0859375, -0.6875, -0.265625, 0.421875, -0.265625, 0.601562, -0.0234375, -0.3125, -0.265625, -0.078125, 0.046875, 0.617188, 0.164062, 0.273438, -0.03125, -0.695312, -0.015625, -0.5625, 0.164062, -0.578125, 0.265625, -0.726562, 0.421875, -0.078125, -0.25, -0.171875, 0.171875, -0.234375, -0.0390625, 0.257812, 0.429688, -0.179688, -0.117188, 0.351562, -0.03125, -0.78125, -0.234375, -0.546875, -0.171875, -0.460938, -0.234375, -0.164062, 0.09375, -0.65625, 0.398438, -0.445312, 0.0859375, -0.71875, -0.226562, 0.671875, 0.101562, -0.46875, -0.195312, -0.71875, -0.265625, 0.617188, 0.125, -0.78125, -0.21875, -0.226562, -0.15625, 0.21875, 0.0234375, 0.289062, 0.101562, 0.648438, -0.171875, 0.390625, -0.273438, -0.257812, 0.078125, -0.21875, 0, 0.65625, -0.203125, -0.679688, 0.171875, -0.1875, 0.328125, -0.46875, -0.28125, 0.273438, 0, 0.664062, 0.296875, -0.140625, 0.335938, -0.625, 0.382812, -0.34375, -0.21875, -0.171875, -0.25, -0.546875, -0.117188, -0.117188, -0.203125, -0.1875, 0.351562, -0.585938, -0.109375, -0.203125, -0.0625, -0.570312, 0.03125, -0.5625, -0.109375, 0.601562, -0.195312, 0.3125, 0.140625, -0.101562, 0.25, 0.25, 0.3125, 0.125, -0.203125, -0.09375, -0.140625, -0.242188, 0.414062, 0.664062, -0.0625, -0.21875, -0.078125, 0.6875, -0.210938, -0.140625, 0.015625, -0.632812, -0.25, -0.109375, 0.234375, -0.695312, 0.015625, -0.3125, -0.28125, 0.296875, -0.0234375, 0.296875, 0.203125, -0.125, 0.234375, 0.570312, 0.390625, -0.554688, 0.203125, -0.5625, 0.351562, -0.15625, 0.21875, -0.375, 0.0390625, -0.226562, -0.140625, 0.695312, 0.164062, 0.632812, 0.367188, -0.328125, -0.210938, -0.59375, 0.34375, 0.304688, -0.242188, -0.34375, 0.0703125, -0.679688, -0.179688, 0.664062, 0.101562, 0.34375, 0.171875, -0.695312, -0.078125, -0.242188, -0.0546875, 0.304688, -0.234375, -0.0078125, -0.21875, -0.632812, 0.203125, 0.625, 0.03125, -0.414062, 0.015625, 0.273438, -0.078125, 0.695312, 0.28125, 0.34375, 0.101562, -0.164062, 0.289062, -0.1875, 0.273438, -0.203125, 0.0703125, 0.734375, -0.171875, -0.59375, 0.34375, -0.15625, 0.210938, 0.429688, 0.375, -0.234375, 0.34375, 0.617188, 0.101562, 0.703125, 0, -0.578125, 0.148438, 0.21875, -0.171875, -0.304688, 0.375, -0.65625, -0.09375, -0.101562, 0.25, -0.4375, 0.03125, -0.242188, 0.421875, -0.546875, 0.0625, -0.632812, -0.148438, -0.125, 0.179688, 0.179688, 0.304688, -0.265625, 0.078125, -0.289062, 0.421875, -0.585938, 0.1875, -0.289062, 0.34375, 0.273438, 0.367188, -0.109375, 0.117188, 0.34375, 0.046875, -0.0625, 0.320312, 0.6875, -0.234375, -0.523438, 0.320312, -0.09375, -0.242188, -0.65625, 0.25, -0.609375, -0.117188, -0.140625, 0.140625, 0.28125, -0.09375, -0.625, -0.28125, 0.34375, 0.328125, 0.265625, 0.109375, -0.609375, 0.0078125, -0.078125, -0.234375, -0.289062, -0.203125, 0.289062, 0.289062, -0.0859375, 0.0078125, -0.101562, -0.28125, -0.625, -0.101562, -0.546875, 0.382812, -0.539062, -0.195312, -0.210938, 0.046875, -0.492188, 0.390625, -0.664062, -0.0703125, 0.71875, -0.101562, -0.140625, -0.046875, 0.695312, 0.289062, -0.710938, 0.429688, -0.703125, 0.3125, -0.203125, 0.109375, 0.421875, -0.273438, 0.304688, 0.21875, 0.328125, 0.257812, -0.632812, -0.0703125, 0.320312, -0.140625, 0.265625, -0.203125, -0.109375, -0.179688, 0.25, -0.210938, 0.65625, 0.109375, -0.648438, -0.0625, -0.0859375, 0.375, -0.429688, 0.398438, 0.320312, 0.3125, -0.0703125, 0.265625, 0.648438, 0.0078125, 0.320312, 0.335938, 0.398438, 0.421875, -0.101562, -0.0625, -0.296875, 0.40625, 0.695312, -0.0390625, 0.335938, 0.21875, -0.546875, 0.117188, -0.476562, 0.390625, -0.648438, 0.117188, -0.078125, -0.28125, 0.328125, 0.289062, -0.226562, 0.179688, 0.226562, 0.375, -0.429688, 0.382812, -0.0546875, 0.34375, 0.59375, -0.125, 0.632812, 0.265625, 0.226562, 0.3125, -0.523438, -0.140625, -0.546875, 0.046875, 0.242188, -0.148438, -0.648438, 0.0234375, -0.289062, 0, -0.546875, 0.101562, -0.125, -0.0625, -0.492188, 0.367188, 0.328125, 0.15625, -0.351562, 0.0546875, -0.609375, 0.414062, -0.296875, 0.09375, 0.671875, -0.203125, -0.257812, -0.273438, -0.335938, 0.414062, 0.65625, -0.195312, -0.601562, -0.101562, -0.203125, -0.078125, 0.210938, 0.242188, 0.296875, 0.335938, -0.578125, 0.40625, -0.664062, -0.078125, -0.0859375, 0.390625, 0.171875, 0.304688, -0.6875, 0.390625, -0.554688, 0.0078125, -0.570312, -0.179688, -0.210938, -0.09375, 0.726562, -0.03125, -0.546875, -0.0859375, -0.265625, -0.171875, -0.65625, 0.179688, -0.171875, 0.257812, -0.164062, -0.171875, 0.203125, 0.335938, -0.640625, 0.21875, 0.390625, 0.375, 0.6875, -0.234375, 0.742188, 0.34375, -0.0546875, 0.351562, -0.632812, 0.195312, 0.671875, -0.21875, 0.195312, 0.015625, 0.226562, 0.117188, -0.507812, 0.078125, -0.140625, -0.15625, 0.703125, -0.28125, 0.226562, -0.140625, 0.328125, 0.421875, 0.3125, 0.1875, 0.703125, 0.078125, 0.351562, 0.289062, 0.21875, -0.242188, -0.328125, 0, 0.171875, 0.101562, -0.304688, -0.242188, -0.210938, 0.078125, 0.625, -0.0078125, 0.25, 0.242188, -0.664062, 0.117188, 0.203125, -0.140625, 0.226562, 0.429688, 0.328125, -0.203125, -0.679688, 0.0703125, -0.195312, -0.148438, -0.523438, 0.328125, 0.382812, -0.257812, 0.578125, -0.171875, 0.65625, 0.320312, -0.632812, -0.148438, 0.703125, 0.0703125, -0.53125, 0.398438, -0.414062, 0.03125, -0.0859375, 0.0546875, -0.53125, 0.335938, 0.304688, 0.429688, -0.234375, -0.148438, -0.375, 0.046875, -0.148438, 0.289062, -0.0390625, 0.421875, 0.226562, -0.125, -0.570312, 0.398438, -0.0703125, -0.0234375, 0.257812, -0.132812 </vector2_array> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/bullet.tscn b/demos/2d/platformer/bullet.tscn new file mode 100644 index 0000000000..78f566c3b3 --- /dev/null +++ b/demos/2d/platformer/bullet.tscn @@ -0,0 +1,115 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://bullet.gd" type="Script" id=1] +[ext_resource path="res://bullet.png" type="Texture" id=2] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 10.0 + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 1, 0, 0, 0 ) + +[sub_resource type="Animation" id=3] + +length = 1.5 +loop = false +step = 0.0 +tracks/0/type = "value" +tracks/0/path = NodePath("particles:config/emitting") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("sprite:visibility/self_opacity") +tracks/1/interp = 1 +tracks/1/keys = { "cont":true, "times":FloatArray( 0, 1.00394 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/2/type = "method" +tracks/2/path = NodePath(".") +tracks/2/interp = 1 +tracks/2/keys = { "times":FloatArray( 1.31 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[node name="bullet" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 2 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +script/script = ExtResource( 1 ) + +[node name="particles" type="Particles2D" parent="."] + +visibility/opacity = 0.559322 +visibility/blend_mode = 1 +config/amount = 24 +config/lifetime = 0.1 +config/local_space = false +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 10.0 +params/linear_velocity = 0.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 1.0 +params/final_size = 0.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 2 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="Timer" type="Timer" parent="."] + +process_mode = 1 +wait_time = 1.0 +one_shot = true +autostart = false + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/shutdown = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[connection signal="timeout" from="Timer" to="." method="disable"] + + diff --git a/demos/2d/platformer/bullet.xml b/demos/2d/platformer/bullet.xml deleted file mode 100644 index 63938581ad..0000000000 --- a/demos/2d/platformer/bullet.xml +++ /dev/null @@ -1,333 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="6" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://bullet.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://bullet.gd" type="Script" index="0"></ext_resource> - <resource type="CircleShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <real name="radius"> 10 </real> - - </resource> - <resource type="ColorRamp" path="local://3"> - <real_array name="offsets" len="2"> 0, 1 </real_array> - <color_array name="colors" len="2"> 1, 1, 1, 1, 1, 0, 0, 0 </color_array> - - </resource> - <resource type="Animation" path="local://2"> - <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" shared="false"> - <string> "cont" </string> - <bool> False </bool> - <string> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <bool> False </bool> - </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" shared="false"> - <string> "cont" </string> - <bool> True </bool> - <string> "times" </string> - <real_array len="2"> 0, 1.00394 </real_array> - <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> - </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" shared="false"> - <string> "times" </string> - <real_array len="1"> 1.31 </real_array> - <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> - </dictionary> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 1 </int> - <string> "conns" </string> - <int_array len="6"> 4, 0, 73, 72, 2, 0 </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="74"> - <string> "bullet" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "script/script" </string> - <string> "__meta__" </string> - <string> "RigidBody2D" </string> - <string> "particles" </string> - <string> "visibility/opacity" </string> - <string> "visibility/blend_mode" </string> - <string> "config/amount" </string> - <string> "config/lifetime" </string> - <string> "config/local_space" </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_angle" </string> - <string> "params/initial_size" </string> - <string> "params/final_size" </string> - <string> "params/hue_variation" </string> - <string> "params/anim_speed_scale" </string> - <string> "params/anim_initial_pos" </string> - <string> "color/color_ramp" </string> - <string> "Particles2D" </string> - <string> "sprite" </string> - <string> "texture" </string> - <string> "Sprite" </string> - <string> "CollisionShape2D" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - <string> "Timer" </string> - <string> "process_mode" </string> - <string> "wait_time" </string> - <string> "one_shot" </string> - <string> "autostart" </string> - <string> "anim" </string> - <string> "playback/process_mode" </string> - <string> "playback/default_blend_time" </string> - <string> "root/root" </string> - <string> "anims/shutdown" </string> - <string> "playback/active" </string> - <string> "playback/speed" </string> - <string> "blend_times" </string> - <string> "autoplay" </string> - <string> "AnimationPlayer" </string> - <string> "disable" </string> - <string> "timeout" </string> - </string_array> - <string> "node_count" </string> - <int> 6 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="166"> -1, -1, 24, 0, -1, 23, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 5, 10, 6, 11, 5, 12, 0, 13, 7, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 6, 20, 10, 21, 10, 22, 11, 23, 12, 0, 0, 0, 49, 25, -1, 23, 26, 13, 27, 3, 28, 14, 29, 15, 30, 0, 31, 16, 32, 6, 33, 17, 34, 6, 35, 6, 36, 6, 37, 6, 38, 6, 39, 6, 40, 6, 41, 6, 42, 6, 43, 5, 44, 6, 45, 6, 46, 5, 47, 6, 48, 18, 0, 0, 0, 52, 50, -1, 1, 51, 16, 0, 0, 0, 53, 53, -1, 3, 54, 1, 55, 0, 56, 19, 0, 0, 0, 57, 57, -1, 4, 58, 3, 59, 5, 60, 8, 61, 0, 0, 0, 0, 71, 62, -1, 8, 63, 3, 64, 6, 65, 20, 66, 21, 67, 8, 68, 5, 69, 22, 70, 23, 0 </int_array> - <string> "variants" </string> - <array len="24" shared="false"> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <int> 0 </int> - <real> 1 </real> - <real> 0 </real> - <int> 2 </int> - <bool> True </bool> - <vector2> 0, 0 </vector2> - <real> -1 </real> - <resource external="0"> </resource> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -74.7573, -35.9676 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 3.424785 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <real> 0.559322 </real> - <int> 24 </int> - <real> 0.1 </real> - <resource external="1"> </resource> - <real> 10 </real> - <resource resource_type="ColorRamp" path="local://3"> </resource> - <int> -1 </int> - <node_path> ".." </node_path> - <resource resource_type="Animation" path="local://2"> </resource> - <array len="0" shared="false"> - </array> - <string> "" </string> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/coin.tscn b/demos/2d/platformer/coin.tscn new file mode 100644 index 0000000000..76730c83d4 --- /dev/null +++ b/demos/2d/platformer/coin.tscn @@ -0,0 +1,146 @@ +[gd_scene load_steps=10 format=1] + +[ext_resource path="res://coin.gd" type="Script" id=1] +[ext_resource path="res://coin.png" type="Texture" id=2] +[ext_resource path="res://sound_coin.wav" type="Sample" id=3] +[ext_resource path="res://bullet.png" type="Texture" id=4] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 10.0 + +[sub_resource type="Animation" id=2] + +resource/name = "spin" +length = 1.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1 ), "values":[ 0, 1, 2, 3, 2, 1, 0 ] } + +[sub_resource type="Animation" id=3] + +length = 8.0 +loop = false +step = 0.0 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 0 ] } +tracks/1/type = "value" +tracks/1/path = NodePath("sound:play/play") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ "coin" ] } +tracks/2/type = "value" +tracks/2/path = NodePath("particles:visibility/self_opacity") +tracks/2/interp = 1 +tracks/2/keys = { "cont":true, "times":FloatArray( 0, 1.66 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/3/type = "value" +tracks/3/path = NodePath("sprite:visibility/self_opacity") +tracks/3/interp = 1 +tracks/3/keys = { "cont":true, "times":FloatArray( 0, 0.4 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/4/type = "value" +tracks/4/path = NodePath("particles:config/emitting") +tracks/4/interp = 1 +tracks/4/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ true ] } +tracks/5/type = "method" +tracks/5/path = NodePath(".") +tracks/5/interp = 1 +tracks/5/keys = { "times":FloatArray( 2.7 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[sub_resource type="SampleLibrary" id=4] + +samples/coin = { "db":0.0, "pitch":1.0, "sample":ExtResource( 3 ) } + +[sub_resource type="ColorRamp" id=5] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 0, 0, 0, 1 ) + +[node name="coin" type="Area2D"] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) +hframes = 4 + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/spin = SubResource( 2 ) +anims/taken = SubResource( 3 ) +playback/active = true +playback/speed = 3.0 +blend_times = [ ] +autoplay = "spin" + +[node name="collision" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="sound" type="SamplePlayer2D" parent="."] + +params/volume_db = 0.0 +params/pitch_scale = 1.0 +params/attenuation/min_distance = 1.0 +params/attenuation/max_distance = 2048.0 +params/attenuation/distance_exp = 1.0 +config/polyphony = 1 +config/samples = SubResource( 4 ) +config/pitch_random = 0.0 + +[node name="particles" type="Particles2D" parent="."] + +visibility/blend_mode = 1 +config/amount = 8 +config/lifetime = 0.4 +config/emitting = false +config/half_extents = Vector2( 5, 5 ) +config/texture = ExtResource( 4 ) +params/direction = 0.0 +params/spread = 10.0 +params/linear_velocity = 0.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 0.2 +params/final_size = 0.2 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 5 ) + +[node name="enabler" type="VisibilityEnabler2D" parent="."] + +rect = Rect2( -10, -10, 20, 20 ) +enabler/pause_animations = true +enabler/freeze_bodies = true +enabler/pause_particles = true +enabler/process_parent = false +enabler/fixed_process_parent = false + +[connection signal="body_enter" from="." to="." method="_on_body_enter"] + + diff --git a/demos/2d/platformer/coin.xml b/demos/2d/platformer/coin.xml deleted file mode 100644 index f33a63bd57..0000000000 --- a/demos/2d/platformer/coin.xml +++ /dev/null @@ -1,430 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="10" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://bullet.png" type="Texture" index="3"></ext_resource> - <ext_resource path="res://coin.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://sound_coin.wav" type="Sample" index="2"></ext_resource> - <ext_resource path="res://coin.gd" type="Script" index="0"></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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <int> 0 </int> - </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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <string> "coin" </string> - </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> "times" </string> - <real_array len="2"> 0, 1.66 </real_array> - <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> - </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> "times" </string> - <real_array len="2"> 0, 0.4 </real_array> - <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> - </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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <bool> True </bool> - </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> "times" </string> - <real_array len="1"> 2.7 </real_array> - <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> - </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> "times" </string> - <real_array len="7"> 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 </real_array> - <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> - </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 external="2"> </resource> - </dictionary> - - </resource> - <resource type="ColorRamp" path="local://5"> - <real_array name="offsets" len="2"> 0, 1 </real_array> - <color_array name="colors" len="2"> 1, 1, 1, 1, 0, 0, 0, 1 </color_array> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 1 </int> - <string> "conns" </string> - <int_array len="6"> 0, 0, 76, 75, 2, 0 </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="77"> - <string> "coin" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "gravity_vec" </string> - <string> "gravity" </string> - <string> "linear_damp" </string> - <string> "angular_damp" </string> - <string> "script/script" </string> - <string> "__meta__" </string> - <string> "Area2D" </string> - <string> "sprite" </string> - <string> "texture" </string> - <string> "hframes" </string> - <string> "Sprite" </string> - <string> "anim" </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> "AnimationPlayer" </string> - <string> "collision" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - <string> "CollisionShape2D" </string> - <string> "sound" </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> "SamplePlayer2D" </string> - <string> "particles" </string> - <string> "visibility/blend_mode" </string> - <string> "config/amount" </string> - <string> "config/lifetime" </string> - <string> "config/emitting" </string> - <string> "config/half_extents" </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_angle" </string> - <string> "params/initial_size" </string> - <string> "params/final_size" </string> - <string> "params/hue_variation" </string> - <string> "params/anim_speed_scale" </string> - <string> "params/anim_initial_pos" </string> - <string> "color/color_ramp" </string> - <string> "Particles2D" </string> - <string> "enabler" </string> - <string> "rect" </string> - <string> "enabler/pause_animations" </string> - <string> "enabler/freeze_bodies" </string> - <string> "enabler/pause_particles" </string> - <string> "enabler/process_parent" </string> - <string> "enabler/fixed_process_parent" </string> - <string> "VisibilityEnabler2D" </string> - <string> "_on_body_enter" </string> - <string> "body_enter" </string> - </string_array> - <string> "node_count" </string> - <int> 7 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="171"> -1, -1, 11, 0, -1, 10, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8, 7, 9, 8, 10, 9, 0, 0, 0, 15, 12, -1, 2, 13, 10, 14, 11, 0, 0, 0, 26, 16, -1, 9, 17, 12, 18, 13, 19, 14, 20, 15, 21, 16, 22, 0, 23, 17, 24, 18, 25, 19, 0, 0, 0, 31, 27, -1, 3, 28, 1, 29, 3, 30, 20, 0, 0, 0, 41, 32, -1, 8, 33, 13, 34, 7, 35, 7, 36, 21, 37, 7, 38, 12, 39, 22, 40, 13, 0, 0, 0, 66, 42, -1, 23, 43, 12, 44, 23, 45, 24, 46, 3, 47, 25, 48, 26, 49, 13, 50, 27, 51, 13, 52, 13, 53, 13, 54, 13, 55, 13, 56, 13, 57, 13, 58, 13, 59, 13, 60, 28, 61, 28, 62, 13, 63, 7, 64, 13, 65, 29, 0, 0, 0, 74, 67, -1, 6, 68, 30, 69, 0, 70, 0, 71, 0, 72, 3, 73, 3, 0 </int_array> - <string> "variants" </string> - <array len="31" shared="false"> - <bool> True </bool> - <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> - <real> 1 </real> - <resource external="0"> </resource> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -34.3697, -21.6562 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 3.794776 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="1"> </resource> - <int> 4 </int> - <int> 1 </int> - <real> 0 </real> - <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> - <int> -1 </int> - <real> 2048 </real> - <resource resource_type="SampleLibrary" path="local://4"> </resource> - <int> 8 </int> - <real> 0.4 </real> - <vector2> 5, 5 </vector2> - <resource external="3"> </resource> - <real> 10 </real> - <real> 0.2 </real> - <resource resource_type="ColorRamp" path="local://5"> </resource> - <rect2> -10, -10, 20, 20 </rect2> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/enemy.tscn b/demos/2d/platformer/enemy.tscn new file mode 100644 index 0000000000..b01bd9fcf6 --- /dev/null +++ b/demos/2d/platformer/enemy.tscn @@ -0,0 +1,206 @@ +[gd_scene load_steps=12 format=1] + +[ext_resource path="res://enemy.gd" type="Script" id=1] +[ext_resource path="res://enemy.png" type="Texture" id=2] +[ext_resource path="res://bullet.png" type="Texture" id=3] +[ext_resource path="res://sound_explode.wav" type="Sample" id=4] +[ext_resource path="res://sound_hit.wav" type="Sample" id=5] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 14.0 + +[sub_resource type="Animation" id=2] + +resource/name = "explode" +length = 6.0 +loop = false +step = 0.0 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:visibility/self_opacity") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 3.58422, 4.33851 ), "transitions":FloatArray( 1, 1 ), "values":[ 1.0, 0.0 ] } +tracks/1/type = "value" +tracks/1/path = NodePath("sprite:frame") +tracks/1/interp = 1 +tracks/1/keys = { "cont":true, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 4 ] } +tracks/2/type = "value" +tracks/2/path = NodePath("Particles2D:config/emitting") +tracks/2/interp = 1 +tracks/2/keys = { "cont":false, "times":FloatArray( 3.47394 ), "transitions":FloatArray( 1 ), "values":[ true ] } +tracks/3/type = "method" +tracks/3/path = NodePath(".") +tracks/3/interp = 1 +tracks/3/keys = { "times":FloatArray( 3.20357, 5.07305 ), "transitions":FloatArray( 1, 1 ), "values":[ { "args":[ ], "method":"_pre_explode" }, { "args":[ ], "method":"_die" } ] } + +[sub_resource type="Animation" id=3] + +length = 6.75 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 5, 6, 5, 6, 5, 6, 7, 6, 7, 5 ] } + +[sub_resource type="Animation" id=4] + +resource/name = "walk" +length = 1.25 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "values":[ 0, 1, 2, 3, 4, 0 ] } + +[sub_resource type="ColorRamp" id=5] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 0.884956, 0.823009, 1, 0.768627, 0.389381, 0, 0 ) + +[sub_resource type="SampleLibrary" id=6] + +samples/explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) } +samples/hit = { "db":0.0, "pitch":1.0, "sample":ExtResource( 5 ) } + +[node name="enemy" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, -1.08072, -2.16144 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 1 ) +shapes/1/transform = Matrix32( 1, 0, 0, 1, 6.48431, 3.24216 ) +shapes/1/trigger = false +shapes/2/shape = SubResource( 1 ) +shapes/2/transform = Matrix32( 1, 0, 0, 1, -12.495, 3.53415 ) +shapes/2/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 2 +mass = 1.0 +friction = 0.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 4 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +script/script = ExtResource( 1 ) + +[node name="enabler" type="VisibilityEnabler2D" parent="."] + +transform/pos = Vector2( 16.2569, 11.0034 ) +transform/scale = Vector2( 23.5056, 10.8629 ) +rect = Rect2( -10, -10, 20, 20 ) +enabler/pause_animations = true +enabler/freeze_bodies = true +enabler/pause_particles = true +enabler/process_parent = false +enabler/fixed_process_parent = false + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 2 ) +anims/idle = SubResource( 3 ) +anims/walk = SubResource( 4 ) +playback/active = true +playback/speed = 3.0 +blend_times = [ ] +autoplay = "" + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) +hframes = 8 +frame = 4 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( -1.08072, -2.16144 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="CollisionShape2D 2" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 6.48431, 3.24216 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="CollisionShape2D 3" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( -12.495, 3.53415 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="raycast_left" type="RayCast2D" parent="."] + +transform/pos = Vector2( -33.2868, -9.34363 ) +enabled = true +cast_to = Vector2( 0, 45 ) +layer_mask = 1 +type_mask = 15 + +[node name="raycast_right" type="RayCast2D" parent="."] + +transform/pos = Vector2( 29.1987, -9.34363 ) +enabled = true +cast_to = Vector2( 0, 45 ) +layer_mask = 1 +type_mask = 15 + +[node name="Particles2D" type="Particles2D" parent="."] + +visibility/self_opacity = 0.121212 +visibility/blend_mode = 1 +config/amount = 32 +config/lifetime = 0.5 +config/emit_timeout = 0.5 +config/emitting = false +config/explosiveness = 0.1 +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 90.0 +params/spin_velocity = 2.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 2.0 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 1.0 +color/color_ramp = SubResource( 5 ) + +[node name="sound" type="SamplePlayer2D" parent="."] + +params/volume_db = 0.0 +params/pitch_scale = 1.0 +params/attenuation/min_distance = 1.0 +params/attenuation/max_distance = 2048.0 +params/attenuation/distance_exp = 1.0 +config/polyphony = 3 +config/samples = SubResource( 6 ) +config/pitch_random = 0.0 + + diff --git a/demos/2d/platformer/enemy.xml b/demos/2d/platformer/enemy.xml deleted file mode 100644 index 72d2ff068e..0000000000 --- a/demos/2d/platformer/enemy.xml +++ /dev/null @@ -1,494 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="12" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://bullet.png" type="Texture" index="2"></ext_resource> - <ext_resource path="res://enemy.gd" type="Script" index="0"></ext_resource> - <ext_resource path="res://sound_explode.wav" type="Sample" index="3"></ext_resource> - <ext_resource path="res://sound_hit.wav" type="Sample" index="4"></ext_resource> - <ext_resource path="res://enemy.png" type="Texture" index="1"></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> "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> - <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> - </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> "times" </string> - <real_array len="2"> 3.58422, 4.33851 </real_array> - <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> - </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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <int> 4 </int> - </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> "times" </string> - <real_array len="1"> 3.47394 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <bool> True </bool> - </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> "times" </string> - <real_array len="2"> 3.20357, 5.07305 </real_array> - <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> - </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> "times" </string> - <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> - <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> - </dictionary> - - </resource> - <resource type="ColorRamp" path="local://6"> - <real_array name="offsets" len="2"> 0, 1 </real_array> - <color_array name="colors" len="2"> 1, 0.884956, 0.823009, 1, 0.768627, 0.389381, 0, 0 </color_array> - - </resource> - <resource type="SampleLibrary" path="local://5"> - <dictionary name="samples/hit" shared="false"> - <string> "db" </string> - <real> 0 </real> - <string> "pitch" </string> - <real> 1 </real> - <string> "sample" </string> - <resource external="4"> </resource> - </dictionary> - <dictionary name="samples/explode" shared="false"> - <string> "db" </string> - <real> 0 </real> - <string> "pitch" </string> - <real> 1 </real> - <string> "sample" </string> - <resource external="3"> </resource> - </dictionary> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="108"> - <string> "enemy" </string> - <string> "input/pickable" </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> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "script/script" </string> - <string> "__meta__" </string> - <string> "RigidBody2D" </string> - <string> "enabler" </string> - <string> "transform/pos" </string> - <string> "transform/scale" </string> - <string> "rect" </string> - <string> "enabler/pause_animations" </string> - <string> "enabler/freeze_bodies" </string> - <string> "enabler/pause_particles" </string> - <string> "enabler/process_parent" </string> - <string> "enabler/fixed_process_parent" </string> - <string> "VisibilityEnabler2D" </string> - <string> "anim" </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> "AnimationPlayer" </string> - <string> "sprite" </string> - <string> "texture" </string> - <string> "hframes" </string> - <string> "frame" </string> - <string> "Sprite" </string> - <string> "CollisionShape2D" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - <string> "CollisionShape2D 2" </string> - <string> "CollisionShape2D 3" </string> - <string> "raycast_left" </string> - <string> "enabled" </string> - <string> "cast_to" </string> - <string> "layer_mask" </string> - <string> "type_mask" </string> - <string> "RayCast2D" </string> - <string> "raycast_right" </string> - <string> "Particles2D" </string> - <string> "visibility/self_opacity" </string> - <string> "visibility/blend_mode" </string> - <string> "config/amount" </string> - <string> "config/lifetime" </string> - <string> "config/emit_timeout" </string> - <string> "config/emitting" </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_angle" </string> - <string> "params/initial_size" </string> - <string> "params/final_size" </string> - <string> "params/hue_variation" </string> - <string> "params/anim_speed_scale" </string> - <string> "params/anim_initial_pos" </string> - <string> "randomness/spin_velocity" </string> - <string> "color/color_ramp" </string> - <string> "sound" </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> "SamplePlayer2D" </string> - </string_array> - <string> "node_count" </string> - <int> 11 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="289"> -1, -1, 30, 0, -1, 29, 1, 0, 2, 1, 3, 2, 4, 0, 5, 1, 6, 3, 7, 0, 8, 1, 9, 4, 10, 0, 11, 5, 12, 5, 13, 6, 14, 7, 15, 8, 16, 8, 17, 7, 18, 0, 19, 9, 20, 10, 21, 0, 22, 0, 23, 11, 24, 12, 25, 8, 26, 13, 27, 13, 28, 14, 29, 15, 0, 0, 0, 40, 31, -1, 8, 32, 16, 33, 17, 34, 18, 35, 11, 36, 11, 37, 11, 38, 0, 39, 0, 0, 0, 0, 52, 41, -1, 10, 42, 5, 43, 8, 44, 19, 45, 20, 46, 21, 47, 22, 48, 11, 49, 23, 50, 24, 51, 25, 0, 0, 0, 57, 53, -1, 3, 54, 26, 55, 27, 56, 10, 0, 0, 0, 58, 58, -1, 4, 32, 28, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 62, -1, 4, 32, 30, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 63, -1, 4, 32, 31, 59, 1, 60, 0, 61, 29, 0, 0, 0, 69, 64, -1, 5, 32, 32, 65, 11, 66, 33, 67, 5, 68, 34, 0, 0, 0, 69, 70, -1, 5, 32, 35, 65, 11, 66, 33, 67, 5, 68, 34, 0, 0, 0, 71, 71, -1, 26, 72, 36, 73, 5, 74, 37, 75, 38, 76, 38, 77, 0, 78, 39, 79, 40, 80, 8, 81, 41, 82, 42, 83, 43, 84, 8, 85, 8, 86, 44, 87, 8, 88, 8, 89, 8, 90, 8, 91, 43, 92, 23, 93, 8, 94, 7, 95, 8, 96, 7, 97, 45, 0, 0, 0, 107, 98, -1, 8, 99, 8, 100, 7, 101, 7, 102, 46, 103, 7, 104, 47, 105, 48, 106, 8, 0 </int_array> - <string> "variants" </string> - <array len="49" shared="false"> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, -0, 0, 1, -1.08072, -2.16144 </matrix32> - <matrix32> 1, -0, 0, 1, 6.48431, 3.24216 </matrix32> - <matrix32> 1, -0, 0, 1, -12.495, 3.53415 </matrix32> - <int> 1 </int> - <int> 2 </int> - <real> 1 </real> - <real> 0 </real> - <int> 0 </int> - <int> 4 </int> - <bool> True </bool> - <vector2> 0, 0 </vector2> - <real> -1 </real> - <resource external="0"> </resource> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -227.625, -197.9 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1.108033 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <vector2> 16.2569, 11.0034 </vector2> - <vector2> 23.5056, 10.8629 </vector2> - <rect2> -10, -10, 20, 20 </rect2> - <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> - <resource external="1"> </resource> - <int> 8 </int> - <vector2> -1.08072, -2.16144 </vector2> - <int> -1 </int> - <vector2> 6.48431, 3.24216 </vector2> - <vector2> -12.495, 3.53415 </vector2> - <vector2> -33.2868, -9.34363 </vector2> - <vector2> 0, 45 </vector2> - <int> 15 </int> - <vector2> 29.1987, -9.34363 </vector2> - <real> 0.121212 </real> - <int> 32 </int> - <real> 0.5 </real> - <real> 0.1 </real> - <resource external="2"> </resource> - <real> 180 </real> - <real> 90 </real> - <real> 2 </real> - <real> 9.8 </real> - <resource resource_type="ColorRamp" path="local://6"> </resource> - <real> 2048 </real> - <int> 3 </int> - <resource resource_type="SampleLibrary" path="local://5"> </resource> - </array> - <string> "version" </string> - <int> 2 </int> - </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 index 044d661e3e..dddef264d4 100644 --- a/demos/2d/platformer/engine.cfg +++ b/demos/2d/platformer/engine.cfg @@ -1,7 +1,7 @@ [application] name="Platformer" -main_scene="res://stage.xml" +main_scene="res://stage.tscn" icon="res://icon.png" name_es="Plataformero" target_fps="60" diff --git a/demos/2d/platformer/moving_platform.tscn b/demos/2d/platformer/moving_platform.tscn new file mode 100644 index 0000000000..c6269d6ee7 --- /dev/null +++ b/demos/2d/platformer/moving_platform.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://moving_platform.gd" type="Script" id=1] +[ext_resource path="res://moving_platform.png" type="Texture" id=2] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -88, 24, -88, -24, 88, -24, 88, 24 ) + +[node name="moving_platform" type="Node2D"] + +script/script = ExtResource( 1 ) +motion = Vector2( 0, 0 ) +cycle = 1.0 + +[node name="platform" type="RigidBody2D" parent="."] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 3 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 + +[node name="Sprite" type="Sprite" parent="platform"] + +texture = ExtResource( 2 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform"] + +build_mode = 0 +polygon = Vector2Array( -88, -24, 88, -24, 88, 24, -88, 24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + + diff --git a/demos/2d/platformer/moving_platform.xml b/demos/2d/platformer/moving_platform.xml deleted file mode 100644 index 4b94a7af48..0000000000 --- a/demos/2d/platformer/moving_platform.xml +++ /dev/null @@ -1,224 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="4" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://moving_platform.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://moving_platform.gd" type="Script" index="0"></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> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="36"> - <string> "moving_platform" </string> - <string> "script/script" </string> - <string> "__meta__" </string> - <string> "motion" </string> - <string> "cycle" </string> - <string> "Node2D" </string> - <string> "platform" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "RigidBody2D" </string> - <string> "Sprite" </string> - <string> "texture" </string> - <string> "CollisionPolygon2D" </string> - <string> "build_mode" </string> - <string> "polygon" </string> - <string> "shape_range" </string> - <string> "trigger" </string> - </string_array> - <string> "node_count" </string> - <int> 4 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="88"> -1, -1, 5, 0, -1, 4, 1, 0, 2, 1, 3, 2, 4, 3, 0, 0, 0, 28, 6, -1, 21, 7, 4, 8, 5, 9, 6, 10, 4, 11, 7, 12, 7, 13, 8, 14, 3, 15, 3, 16, 9, 17, 3, 18, 4, 19, 10, 20, 10, 21, 4, 22, 4, 23, 11, 24, 2, 25, 9, 26, 12, 27, 12, 0, 1, 0, 29, 29, -1, 1, 30, 13, 0, 1, 0, 31, 31, -1, 4, 32, 10, 33, 14, 34, 15, 35, 4, 0 </int_array> - <string> "variants" </string> - <array len="16" shared="false"> - <resource external="0"> </resource> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -210.652, -172.81 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1.360373 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 179 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <vector2> 0, 0 </vector2> - <real> 1 </real> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <int> 3 </int> - <real> 0 </real> - <int> 0 </int> - <bool> True </bool> - <real> -1 </real> - <resource external="1"> </resource> - <vector2_array len="4"> -88, -24, 88, -24, 88, 24, -88, 24 </vector2_array> - <vector2> -1, -1 </vector2> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/one_way_platform.tscn b/demos/2d/platformer/one_way_platform.tscn new file mode 100644 index 0000000000..88c4b0d61a --- /dev/null +++ b/demos/2d/platformer/one_way_platform.tscn @@ -0,0 +1,36 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://one_way_platform.png" type="Texture" id=1] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 100, 10 ) + +[node name="one_way_platform" type="StaticBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 1.46304, -13.1672 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +one_way_collision/direction = Vector2( 0, 1 ) +one_way_collision/max_depth = 20.0 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 1.46304, -13.1672 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/platformer/one_way_platform.xml b/demos/2d/platformer/one_way_platform.xml deleted file mode 100644 index 85b2322711..0000000000 --- a/demos/2d/platformer/one_way_platform.xml +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://one_way_platform.png" type="Texture" index="0"></ext_resource> - <resource type="RectangleShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <vector2 name="extents"> 100, 10 </vector2> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="23"> - <string> "one_way_platform" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "one_way_collision/direction" </string> - <string> "one_way_collision/max_depth" </string> - <string> "constant_linear_velocity" </string> - <string> "constant_angular_velocity" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "__meta__" </string> - <string> "StaticBody2D" </string> - <string> "sprite" </string> - <string> "texture" </string> - <string> "Sprite" </string> - <string> "CollisionShape2D" </string> - <string> "transform/pos" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - </string_array> - <string> "node_count" </string> - <int> 3 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="57"> -1, -1, 14, 0, -1, 13, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 8, 12, 7, 13, 9, 0, 0, 0, 17, 15, -1, 1, 16, 10, 0, 0, 0, 18, 18, -1, 4, 19, 11, 20, 1, 21, 0, 22, 12, 0 </int_array> - <string> "variants" </string> - <array len="13" shared="false"> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, -0, 0, 1, 1.46304, -13.1672 </matrix32> - <int> 1 </int> - <vector2> 0, 1 </vector2> - <real> 20 </real> - <vector2> 0, 0 </vector2> - <real> 0 </real> - <real> 1 </real> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -133.699, -110.553 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 2.050546 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <vector2> 1.46304, -13.1672 </vector2> - <int> -1 </int> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/parallax_bg.tscn b/demos/2d/platformer/parallax_bg.tscn new file mode 100644 index 0000000000..cf5815e28c --- /dev/null +++ b/demos/2d/platformer/parallax_bg.tscn @@ -0,0 +1,101 @@ +[gd_scene load_steps=7 format=1] + +[ext_resource path="res://scroll_bg_sky.png" type="Texture" id=1] +[ext_resource path="res://scroll_bg_cloud_1.png" type="Texture" id=2] +[ext_resource path="res://scroll_bg_cloud_2.png" type="Texture" id=3] +[ext_resource path="res://scroll_bg_cloud_3.png" type="Texture" id=4] +[ext_resource path="res://scroll_bg_fg_2.png" type="Texture" id=5] +[ext_resource path="res://scroll_bg_fg_1.png" type="Texture" id=6] + +[node name="parallax_bg" type="ParallaxBackground"] + +layer = -1 +offset = Vector2( 0, 0 ) +rotation = 0.0 +scale = Vector2( 1, 1 ) +scroll/offset = Vector2( 0, 0 ) +scroll/base_offset = Vector2( 0, 0 ) +scroll/base_scale = Vector2( 0.7, 0 ) +scroll/limit_begin = Vector2( 0, 0 ) +scroll/limit_end = Vector2( 0, 0 ) +scroll/ignore_camera_zoom = false + +[node name="sky" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 1, 1 ) +motion/mirroring = Vector2( 800, 0 ) + +[node name="Sprite" type="Sprite" parent="sky"] + +transform/scale = Vector2( 32, 0.94 ) +texture = ExtResource( 1 ) +centered = false + +[node name="clouds" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.1, 1 ) +motion/mirroring = Vector2( 800, 0 ) + +[node name="Sprite" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 28, 127 ) +texture = ExtResource( 2 ) +centered = false + +[node name="Sprite 2" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 404, 24 ) +texture = ExtResource( 2 ) +centered = false + +[node name="Sprite 3" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 154, 46 ) +texture = ExtResource( 3 ) +centered = false + +[node name="Sprite 4" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 525, 130 ) +texture = ExtResource( 3 ) +centered = false + +[node name="Sprite 5" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 255, 158 ) +texture = ExtResource( 4 ) +centered = false + +[node name="Sprite 6" type="Sprite" parent="clouds"] + +transform/pos = Vector2( 674, 70 ) +texture = ExtResource( 4 ) +centered = false + +[node name="mount_ 2" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.2, 1 ) +motion/mirroring = Vector2( 800, 0 ) + +[node name="Sprite" type="Sprite" parent="mount_ 2"] + +transform/pos = Vector2( 0, 225 ) +texture = ExtResource( 5 ) +centered = false +region = true +region_rect = Rect2( 0, 0, 800, 256 ) + +[node name="mount_1" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.4, 1 ) +motion/mirroring = Vector2( 800, 0 ) + +[node name="Sprite" type="Sprite" parent="mount_1"] + +transform/pos = Vector2( 0, 225 ) +texture = ExtResource( 6 ) +centered = false +region = true +region_rect = Rect2( 0, 0, 800, 256 ) + + diff --git a/demos/2d/platformer/parallax_bg.xml b/demos/2d/platformer/parallax_bg.xml deleted file mode 100644 index 3b306aecab..0000000000 --- a/demos/2d/platformer/parallax_bg.xml +++ /dev/null @@ -1,230 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="7" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://scroll_bg_cloud_1.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://scroll_bg_sky.png" type="Texture" index="0"></ext_resource> - <ext_resource path="res://scroll_bg_fg_2.png" type="Texture" index="4"></ext_resource> - <ext_resource path="res://scroll_bg_cloud_3.png" type="Texture" index="3"></ext_resource> - <ext_resource path="res://scroll_bg_cloud_2.png" type="Texture" index="2"></ext_resource> - <ext_resource path="res://scroll_bg_fg_1.png" type="Texture" index="5"></ext_resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="32"> - <string> "parallax_bg" </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> "scroll/ignore_camera_zoom" </string> - <string> "__meta__" </string> - <string> "ParallaxBackground" </string> - <string> "sky" </string> - <string> "motion/scale" </string> - <string> "motion/mirroring" </string> - <string> "ParallaxLayer" </string> - <string> "Sprite" </string> - <string> "transform/scale" </string> - <string> "texture" </string> - <string> "centered" </string> - <string> "clouds" </string> - <string> "transform/pos" </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> "region" </string> - <string> "region_rect" </string> - <string> "mount_1" </string> - </string_array> - <string> "node_count" </string> - <int> 14 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="198"> -1, -1, 12, 0, -1, 11, 1, 0, 2, 1, 3, 2, 4, 3, 5, 1, 6, 1, 7, 4, 8, 1, 9, 1, 10, 5, 11, 6, 0, 0, 0, 16, 13, -1, 2, 14, 3, 15, 7, 0, 1, 0, 17, 17, -1, 3, 18, 8, 19, 9, 20, 5, 0, 0, 0, 16, 21, -1, 2, 14, 10, 15, 7, 0, 3, 0, 17, 17, -1, 3, 22, 11, 19, 12, 20, 5, 0, 3, 0, 17, 23, -1, 3, 22, 13, 19, 12, 20, 5, 0, 3, 0, 17, 24, -1, 3, 22, 14, 19, 15, 20, 5, 0, 3, 0, 17, 25, -1, 3, 22, 16, 19, 15, 20, 5, 0, 3, 0, 17, 26, -1, 3, 22, 17, 19, 18, 20, 5, 0, 3, 0, 17, 27, -1, 3, 22, 19, 19, 18, 20, 5, 0, 0, 0, 16, 28, -1, 2, 14, 20, 15, 7, 0, 10, 0, 17, 17, -1, 5, 22, 21, 19, 22, 20, 5, 29, 23, 30, 24, 0, 0, 0, 16, 31, -1, 2, 14, 25, 15, 7, 0, 12, 0, 17, 17, -1, 5, 22, 21, 19, 26, 20, 5, 29, 23, 30, 24, 0 </int_array> - <string> "variants" </string> - <array len="27" shared="false"> - <int> -1 </int> - <vector2> 0, 0 </vector2> - <real> 0 </real> - <vector2> 1, 1 </vector2> - <vector2> 0.7, 0 </vector2> - <bool> False </bool> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -5, -25 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <vector2> 800, 0 </vector2> - <vector2> 32, 0.94 </vector2> - <resource external="0"> </resource> - <vector2> 0.1, 1 </vector2> - <vector2> 28, 127 </vector2> - <resource external="1"> </resource> - <vector2> 404, 24 </vector2> - <vector2> 154, 46 </vector2> - <resource external="2"> </resource> - <vector2> 525, 130 </vector2> - <vector2> 255, 158 </vector2> - <resource external="3"> </resource> - <vector2> 674, 70 </vector2> - <vector2> 0.2, 1 </vector2> - <vector2> 0, 225 </vector2> - <resource external="4"> </resource> - <bool> True </bool> - <rect2> 0, 0, 800, 256 </rect2> - <vector2> 0.4, 1 </vector2> - <resource external="5"> </resource> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/player.gd b/demos/2d/platformer/player.gd index 7ed99df9bd..8cafd8b933 100644 --- a/demos/2d/platformer/player.gd +++ b/demos/2d/platformer/player.gd @@ -47,7 +47,7 @@ var shoot_time = 1e20 var MAX_SHOOT_POSE_TIME = 0.3 -var bullet = preload("res://bullet.xml") +var bullet = preload("res://bullet.tscn") var floor_h_velocity = 0.0 var enemy @@ -220,7 +220,7 @@ func _integrate_forces(s): func _ready(): - enemy = ResourceLoader.load("res://enemy.xml") + enemy = ResourceLoader.load("res://enemy.tscn") # if !Globals.has_singleton("Facebook"): # return diff --git a/demos/2d/platformer/player.tscn b/demos/2d/platformer/player.tscn new file mode 100644 index 0000000000..77a2e272a6 --- /dev/null +++ b/demos/2d/platformer/player.tscn @@ -0,0 +1,330 @@ +[gd_scene load_steps=25 format=1] + +[ext_resource path="res://player.gd" type="Script" id=1] +[ext_resource path="res://robot_demo.png" type="Texture" id=2] +[ext_resource path="res://bullet.png" type="Texture" id=3] +[ext_resource path="res://sound_coin.wav" type="Sample" id=4] +[ext_resource path="res://sound_jump.wav" type="Sample" id=5] +[ext_resource path="res://sound_shoot.wav" type="Sample" id=6] +[ext_resource path="res://osb_left.png" type="Texture" id=7] +[ext_resource path="res://osb_right.png" type="Texture" id=8] +[ext_resource path="res://osb_jump.png" type="Texture" id=9] +[ext_resource path="res://osb_fire.png" type="Texture" id=10] + +[sub_resource type="RayShape2D" id=1] + +custom_solver_bias = 0.5 +length = 20.0 + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -19.902, -24.8691, 19.3625, -24.6056, -0.138023, 16.5036 ) + +[sub_resource type="ColorRamp" id=3] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 0, 0, 0, 0.0442478 ) + +[sub_resource type="Animation" id=4] + +resource/name = "crouch" +length = 0.01 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 22 ] } + +[sub_resource type="Animation" id=5] + +resource/name = "falling" +length = 0.01 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 21 ] } + +[sub_resource type="Animation" id=6] + +resource/name = "falling_weapon" +length = 0.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 26 ] } + +[sub_resource type="Animation" id=7] + +length = 7.0 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 16, 17, 18, 16, 19, 20, 19, 16 ] } + +[sub_resource type="Animation" id=8] + +length = 0.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 25 ] } + +[sub_resource type="Animation" id=9] + +length = 0.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5 ), "transitions":FloatArray( 1, 1, 1 ), "values":[ 23, 24, 23 ] } + +[sub_resource type="Animation" id=10] + +length = 0.5 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ 26 ] } + +[sub_resource type="Animation" id=11] + +length = 1.25 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "values":[ 0, 1, 2, 3, 4, 0 ] } + +[sub_resource type="Animation" id=12] + +length = 1.25 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "values":[ 5, 6, 7, 8, 9, 5 ] } + +[sub_resource type="Animation" id=13] + +length = 1.25 +loop = true +step = 0.25 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1 ), "values":[ 10, 11, 12, 13, 14, 5 ] } + +[sub_resource type="SampleLibrary" id=14] + +samples/jump = { "db":0.0, "pitch":1.0, "sample":ExtResource( 5 ) } +samples/shoot = { "db":0.0, "pitch":1.0, "sample":ExtResource( 6 ) } +samples/coin = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) } + +[node name="player" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1.76469, 0.291992, -12.1587 ) +shapes/0/trigger = false +shapes/1/shape = SubResource( 2 ) +shapes/1/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/1/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 2 +mass = 3.0 +friction = 0.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = true +continuous_cd = 0 +contacts_reported = 3 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) +vframes = 2 +hframes = 16 + +[node name="smoke" type="Particles2D" parent="sprite"] + +visibility/self_opacity = 0.363636 +visibility/blend_mode = 1 +transform/pos = Vector2( 20.7312, 3.21187 ) +transform/rot = 83.4504 +config/amount = 4 +config/lifetime = 0.3 +config/emit_timeout = 0.3 +config/emitting = false +config/local_space = false +config/explosiveness = 0.1 +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 20.0 +params/spin_velocity = 1.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 2.0 +params/final_size = 2.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +randomness/spin_velocity = 2.0 +color/color_ramp = SubResource( 3 ) + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/crouch = SubResource( 4 ) +anims/falling = SubResource( 5 ) +anims/falling_weapon = SubResource( 6 ) +anims/idle = SubResource( 7 ) +anims/idle_weapon = SubResource( 8 ) +anims/jumping = SubResource( 9 ) +anims/jumping_weapon = SubResource( 10 ) +anims/run = SubResource( 11 ) +anims/run_weapon = SubResource( 12 ) +anims/standing_weapon_ready = SubResource( 13 ) +playback/active = true +playback/speed = 2.0 +blend_times = [ ] +autoplay = "" + +[node name="camera" type="Camera2D" parent="."] + +anchor_mode = 1 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = 0 +limit/top = 0 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + +[node name="bullet_shoot" type="Position2D" parent="."] + +transform/pos = Vector2( 31.2428, 4.08784 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +transform/pos = Vector2( 0.291992, -12.1587 ) +transform/scale = Vector2( 1, 1.76469 ) +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="sound" type="SamplePlayer" parent="."] + +config/polyphony = 1 +config/samples = SubResource( 14 ) +default/volume_db = 0.0 +default/pitch_scale = 1.0 +default/pan = 0.0 +default/depth = 0.0 +default/height = 0.0 +default/filter/type = 0 +default/filter/cutoff = 0.0 +default/filter/resonance = 0.0 +default/filter/gain = 0.0 +default/reverb_room = 2 +default/reverb_send = 0.0 +default/chorus_send = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] + +build_mode = 0 +polygon = Vector2Array( -0.138023, 16.5036, -19.902, -24.8691, 19.3625, -24.6056 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="ui" type="CanvasLayer" parent="."] + +layer = 0 +offset = Vector2( 0, 0 ) +rotation = 0.0 +scale = Vector2( 1, 1 ) + +[node name="left" type="TouchScreenButton" parent="ui"] + +transform/pos = Vector2( 27.7593, 360.87 ) +transform/scale = Vector2( 1.49157, 1.46265 ) +normal = ExtResource( 7 ) +pressed = null +bitmask = null +passby_press = true +action = "move_left" +visibility_mode = 1 + +[node name="right" type="TouchScreenButton" parent="ui"] + +transform/pos = Vector2( 121.542, 361.415 ) +transform/scale = Vector2( 1.49157, 1.46265 ) +normal = ExtResource( 8 ) +pressed = null +bitmask = null +passby_press = true +action = "move_right" +visibility_mode = 1 + +[node name="jump" type="TouchScreenButton" parent="ui"] + +transform/pos = Vector2( 666.224, 359.02 ) +transform/scale = Vector2( 1.49157, 1.46265 ) +normal = ExtResource( 9 ) +pressed = null +bitmask = null +passby_press = false +action = "jump" +visibility_mode = 1 + +[node name="fire" type="TouchScreenButton" parent="ui"] + +transform/pos = Vector2( 668.073, 262.788 ) +transform/scale = Vector2( 1.49157, 1.46265 ) +normal = ExtResource( 10 ) +pressed = null +bitmask = null +passby_press = false +action = "shoot" +visibility_mode = 1 + + diff --git a/demos/2d/platformer/player.xml b/demos/2d/platformer/player.xml deleted file mode 100644 index 493279672f..0000000000 --- a/demos/2d/platformer/player.xml +++ /dev/null @@ -1,669 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="25" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://bullet.png" type="Texture" index="2"></ext_resource> - <ext_resource path="res://sound_coin.wav" type="Sample" index="3"></ext_resource> - <ext_resource path="res://player.gd" type="Script" index="0"></ext_resource> - <ext_resource path="res://robot_demo.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://sound_shoot.wav" type="Sample" index="5"></ext_resource> - <ext_resource path="res://sound_jump.wav" type="Sample" index="4"></ext_resource> - <ext_resource path="res://osb_left.png" type="Texture" index="6"></ext_resource> - <ext_resource path="res://osb_right.png" type="Texture" index="7"></ext_resource> - <ext_resource path="res://osb_jump.png" type="Texture" index="8"></ext_resource> - <ext_resource path="res://osb_fire.png" type="Texture" index="9"></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="ColorRamp" path="local://14"> - <real_array name="offsets" len="2"> 0, 1 </real_array> - <color_array name="colors" len="2"> 1, 1, 1, 1, 0, 0, 0, 0.0442478 </color_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> "times" </string> - <real_array len="8"> 0, 1.25, 1.5, 2, 4.5, 4.75, 5, 5.25 </real_array> - <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> - </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> "times" </string> - <real_array len="3"> 0, 0.25, 0.5 </real_array> - <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> - </dictionary> - - </resource> - <resource type="Animation" path="local://10"> - <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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <int> 26 </int> - </array> - </dictionary> - - </resource> - <resource type="Animation" path="local://5"> - <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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <int> 25 </int> - </array> - </dictionary> - - </resource> - <resource type="Animation" path="local://7"> - <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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <int> 22 </int> - </array> - </dictionary> - - </resource> - <resource type="Animation" path="local://8"> - <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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <int> 21 </int> - </array> - </dictionary> - - </resource> - <resource type="Animation" path="local://9"> - <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> "times" </string> - <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> - <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> - </dictionary> - - </resource> - <resource type="Animation" path="local://12"> - <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> "times" </string> - <real_array len="1"> 0 </real_array> - <string> "transitions" </string> - <real_array len="1"> 1 </real_array> - <string> "values" </string> - <array len="1" shared="false"> - <int> 26 </int> - </array> - </dictionary> - - </resource> - <resource type="Animation" path="local://6"> - <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> "times" </string> - <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> - <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> - </dictionary> - - </resource> - <resource type="Animation" path="local://11"> - <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> "times" </string> - <real_array len="6"> 0, 0.25, 0.5, 0.75, 1, 1.25 </real_array> - <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> - </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 external="4"> </resource> - </dictionary> - <dictionary name="samples/shoot" shared="false"> - <string> "db" </string> - <real> 0 </real> - <string> "pitch" </string> - <real> 1 </real> - <string> "sample" </string> - <resource external="5"> </resource> - </dictionary> - <dictionary name="samples/coin" shared="false"> - <string> "db" </string> - <real> 0 </real> - <string> "pitch" </string> - <real> 1 </real> - <string> "sample" </string> - <resource external="3"> </resource> - </dictionary> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="144"> - <string> "player" </string> - <string> "input/pickable" </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> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "script/script" </string> - <string> "__meta__" </string> - <string> "RigidBody2D" </string> - <string> "sprite" </string> - <string> "texture" </string> - <string> "vframes" </string> - <string> "hframes" </string> - <string> "Sprite" </string> - <string> "smoke" </string> - <string> "visibility/self_opacity" </string> - <string> "visibility/blend_mode" </string> - <string> "transform/pos" </string> - <string> "transform/rot" </string> - <string> "config/amount" </string> - <string> "config/lifetime" </string> - <string> "config/emit_timeout" </string> - <string> "config/emitting" </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_angle" </string> - <string> "params/initial_size" </string> - <string> "params/final_size" </string> - <string> "params/hue_variation" </string> - <string> "params/anim_speed_scale" </string> - <string> "params/anim_initial_pos" </string> - <string> "randomness/spin_velocity" </string> - <string> "color/color_ramp" </string> - <string> "Particles2D" </string> - <string> "anim" </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/falling_weapon" </string> - <string> "anims/idle_weapon" </string> - <string> "anims/crouch" </string> - <string> "anims/falling" </string> - <string> "anims/standing_weapon_ready" </string> - <string> "anims/jumping_weapon" </string> - <string> "anims/run" </string> - <string> "anims/run_weapon" </string> - <string> "playback/active" </string> - <string> "playback/speed" </string> - <string> "blend_times" </string> - <string> "autoplay" </string> - <string> "AnimationPlayer" </string> - <string> "camera" </string> - <string> "anchor_mode" </string> - <string> "rotating" </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> "Camera2D" </string> - <string> "bullet_shoot" </string> - <string> "Position2D" </string> - <string> "CollisionShape2D" </string> - <string> "transform/scale" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - <string> "sound" </string> - <string> "config/polyphony" </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> "SamplePlayer" </string> - <string> "CollisionPolygon2D" </string> - <string> "build_mode" </string> - <string> "polygon" </string> - <string> "shape_range" </string> - <string> "ui" </string> - <string> "layer" </string> - <string> "offset" </string> - <string> "rotation" </string> - <string> "scale" </string> - <string> "CanvasLayer" </string> - <string> "left" </string> - <string> "normal" </string> - <string> "pressed" </string> - <string> "bitmask" </string> - <string> "passby_press" </string> - <string> "action" </string> - <string> "visibility_mode" </string> - <string> "TouchScreenButton" </string> - <string> "right" </string> - <string> "jump" </string> - <string> "fire" </string> - </string_array> - <string> "node_count" </string> - <int> 14 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="398"> -1, -1, 27, 0, -1, 26, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 4, 7, 0, 8, 5, 9, 5, 10, 6, 11, 7, 12, 8, 13, 8, 14, 9, 15, 10, 16, 11, 17, 12, 18, 0, 19, 0, 20, 10, 21, 13, 22, 8, 23, 14, 24, 14, 25, 15, 26, 16, 0, 0, 0, 32, 28, -1, 3, 29, 17, 30, 6, 31, 18, 0, 1, 0, 63, 33, -1, 29, 34, 19, 35, 5, 36, 20, 37, 21, 38, 22, 39, 23, 40, 23, 41, 0, 42, 0, 43, 24, 44, 25, 45, 8, 46, 26, 47, 27, 48, 9, 49, 8, 50, 8, 51, 28, 52, 8, 53, 8, 54, 8, 55, 8, 56, 29, 57, 29, 58, 8, 59, 9, 60, 8, 61, 29, 62, 30, 0, 0, 0, 82, 64, -1, 17, 65, 5, 66, 8, 67, 31, 68, 32, 69, 33, 70, 34, 71, 35, 72, 36, 73, 37, 74, 38, 75, 39, 76, 40, 77, 41, 78, 10, 79, 29, 80, 42, 81, 43, 0, 0, 0, 99, 83, -1, 15, 84, 5, 85, 0, 86, 10, 87, 8, 88, 44, 89, 11, 90, 11, 91, 45, 92, 45, 93, 10, 94, 10, 95, 46, 96, 46, 97, 46, 98, 46, 0, 0, 0, 101, 100, -1, 1, 36, 47, 0, 0, 0, 102, 102, -1, 5, 36, 48, 103, 49, 104, 1, 105, 0, 106, 50, 0, 0, 0, 122, 107, -1, 14, 108, 5, 109, 51, 110, 8, 111, 9, 112, 8, 113, 8, 114, 8, 115, 11, 116, 8, 117, 8, 118, 8, 119, 6, 120, 8, 121, 8, 0, 0, 0, 123, 123, -1, 4, 124, 11, 125, 52, 126, 53, 105, 0, 0, 0, 0, 132, 127, -1, 4, 128, 11, 129, 13, 130, 8, 131, 44, 0, 9, 0, 140, 133, -1, 8, 36, 54, 103, 55, 134, 56, 135, 57, 136, 57, 137, 10, 138, 58, 139, 5, 0, 9, 0, 140, 141, -1, 8, 36, 59, 103, 55, 134, 60, 135, 57, 136, 57, 137, 10, 138, 61, 139, 5, 0, 9, 0, 140, 142, -1, 8, 36, 62, 103, 55, 134, 63, 135, 57, 136, 57, 137, 0, 138, 64, 139, 5, 0, 9, 0, 140, 143, -1, 8, 36, 65, 103, 55, 134, 66, 135, 57, 136, 57, 137, 0, 138, 67, 139, 5, 0 </int_array> - <string> "variants" </string> - <array len="68" shared="false"> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, -0, 0, 1.76469, 0.291992, -12.1587 </matrix32> - <resource resource_type="Shape2D" path="local://2"> </resource> - <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <int> 2 </int> - <real> 3 </real> - <real> 0 </real> - <real> 1 </real> - <bool> True </bool> - <int> 0 </int> - <int> 3 </int> - <vector2> 0, 0 </vector2> - <real> -1 </real> - <resource external="0"> </resource> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -110.795, -101.2 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 2.050546 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="1"> </resource> - <int> 16 </int> - <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 external="2"> </resource> - <real> 180 </real> - <real> 20 </real> - <real> 9.8 </real> - <real> 2 </real> - <resource resource_type="ColorRamp" path="local://14"> </resource> - <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://10"> </resource> - <resource resource_type="Animation" path="local://5"> </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://12"> </resource> - <resource resource_type="Animation" path="local://6"> </resource> - <resource resource_type="Animation" path="local://11"> </resource> - <array len="0" shared="false"> - </array> - <string> "" </string> - <vector2> 1, 1 </vector2> - <int> 10000000 </int> - <real> 0.2 </real> - <vector2> 31.2428, 4.08784 </vector2> - <vector2> 0.291992, -12.1587 </vector2> - <vector2> 1, 1.76469 </vector2> - <int> -1 </int> - <resource resource_type="SampleLibrary" path="local://13"> </resource> - <vector2_array len="3"> -0.138023, 16.5036, -19.902, -24.8691, 19.3625, -24.6056 </vector2_array> - <vector2> -1, -1 </vector2> - <vector2> 27.7593, 360.87 </vector2> - <vector2> 1.49157, 1.46265 </vector2> - <resource external="6"> </resource> - <resource name=""></resource> <string> "move_left" </string> - <vector2> 121.542, 361.415 </vector2> - <resource external="7"> </resource> - <string> "move_right" </string> - <vector2> 666.224, 359.02 </vector2> - <resource external="8"> </resource> - <string> "jump" </string> - <vector2> 668.073, 262.788 </vector2> - <resource external="9"> </resource> - <string> "shoot" </string> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/seesaw.tscn b/demos/2d/platformer/seesaw.tscn new file mode 100644 index 0000000000..9af07dc07b --- /dev/null +++ b/demos/2d/platformer/seesaw.tscn @@ -0,0 +1,60 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://plank.png" type="Texture" id=1] +[ext_resource path="res://plankpin.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 128, 8 ) + +[node name="seesaw" type="Node2D"] + +[node name="plank" type="RigidBody2D" parent="."] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 5.10204 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 + +[node name="sprite" type="Sprite" parent="plank"] + +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="plank"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="pin" type="PinJoint2D" parent="."] + +node_a = NodePath("../plank") +node_b = NodePath("") +bias/bias = 0.0 +collision/exclude_nodes = true +softness = 0.0 + +[node name="Sprite" type="Sprite" parent="."] + +transform/pos = Vector2( -0.290825, 20.2425 ) +texture = ExtResource( 2 ) + + diff --git a/demos/2d/platformer/seesaw.xml b/demos/2d/platformer/seesaw.xml deleted file mode 100644 index 760423167f..0000000000 --- a/demos/2d/platformer/seesaw.xml +++ /dev/null @@ -1,230 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="4" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://plank.png" type="Texture" index="0"></ext_resource> - <ext_resource path="res://plankpin.png" type="Texture" index="1"></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> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="40"> - <string> "seesaw" </string> - <string> "__meta__" </string> - <string> "Node2D" </string> - <string> "plank" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "RigidBody2D" </string> - <string> "sprite" </string> - <string> "texture" </string> - <string> "Sprite" </string> - <string> "CollisionShape2D" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - <string> "pin" </string> - <string> "node_a" </string> - <string> "node_b" </string> - <string> "bias/bias" </string> - <string> "softness" </string> - <string> "PinJoint2D" </string> - <string> "transform/pos" </string> - </string_array> - <string> "node_count" </string> - <int> 6 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="106"> -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 25, 3, -1, 21, 4, 1, 5, 2, 6, 3, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 0, 1, 0, 28, 26, -1, 1, 27, 12, 0, 1, 0, 29, 29, -1, 3, 30, 2, 31, 1, 32, 13, 0, 0, 0, 38, 33, -1, 4, 34, 14, 35, 15, 36, 8, 37, 8, 0, 0, 0, 28, 28, -1, 2, 39, 16, 27, 17, 0 </int_array> - <string> "variants" </string> - <array len="18" shared="false"> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -116.979, -109.897 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 2.050547 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 179 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <int> 0 </int> - <real> 5.102041 </real> - <real> 1 </real> - <real> 0 </real> - <bool> True </bool> - <vector2> 0, 0 </vector2> - <real> -1 </real> - <resource external="0"> </resource> - <int> -1 </int> - <node_path> "../plank" </node_path> - <node_path> "" </node_path> - <vector2> -0.290825, 20.2425 </vector2> - <resource external="1"> </resource> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/stage.tscn b/demos/2d/platformer/stage.tscn new file mode 100644 index 0000000000..9709efefa9 --- /dev/null +++ b/demos/2d/platformer/stage.tscn @@ -0,0 +1,352 @@ +[gd_scene load_steps=10 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://coin.tscn" type="PackedScene" id=2] +[ext_resource path="res://moving_platform.tscn" type="PackedScene" id=3] +[ext_resource path="res://seesaw.tscn" type="PackedScene" id=4] +[ext_resource path="res://one_way_platform.tscn" type="PackedScene" id=5] +[ext_resource path="res://player.tscn" type="PackedScene" id=6] +[ext_resource path="res://music.ogg" type="AudioStream" id=7] +[ext_resource path="res://enemy.tscn" type="PackedScene" id=8] +[ext_resource path="res://parallax_bg.tscn" type="PackedScene" id=9] + +[node name="stage" type="Node"] + +[node name="tile_map" type="TileMap" parent="."] + +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 64, 64 ) +cell/quadrant_size = 8 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( 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, 0, 983052, 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, 536870914, 1048587, 536870922, 1048588, 2, 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, 1114122, 536870925, 1114123, 11, 1114124, 13, 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, 1179664, 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, 0, 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 ) +__meta__ = { "_edit_lock_":true } + +[node name="coins" type="Node" parent="."] + +[node name="coin" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 672, 1179 ) +linear_damp = 0.1 + +[node name="coin 2" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 704, 1179 ) +linear_damp = 0.1 + +[node name="coin 3" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 736, 1179 ) +linear_damp = 0.1 + +[node name="coin 4" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1120, 992 ) +linear_damp = 0.1 + +[node name="coin 5" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1152, 992 ) +linear_damp = 0.1 + +[node name="coin 6" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1184, 992 ) +linear_damp = 0.1 + +[node name="coin 7" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1216, 992 ) +linear_damp = 0.1 + +[node name="coin 8" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1248, 992 ) +linear_damp = 0.1 + +[node name="coin 9" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1568, 864 ) +linear_damp = 0.1 + +[node name="coin 10" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1632, 864 ) +linear_damp = 0.1 + +[node name="coin 11" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1824, 768 ) +linear_damp = 0.1 + +[node name="coin 12" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1888, 768 ) +linear_damp = 0.1 + +[node name="coin 13" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 2080, 672 ) +linear_damp = 0.1 + +[node name="coin 14" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 2144, 672 ) +linear_damp = 0.1 + +[node name="coin 15" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1792, 1248 ) +linear_damp = 0.1 + +[node name="coin 16" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1856, 1248 ) +linear_damp = 0.1 + +[node name="coin 17" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1920, 1248 ) +linear_damp = 0.1 + +[node name="coin 18" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1920, 1184 ) +linear_damp = 0.1 + +[node name="coin 19" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1856, 1184 ) +linear_damp = 0.1 + +[node name="coin 20" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 1792, 1184 ) +linear_damp = 0.1 + +[node name="coin 21" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 98.8868, 488.515 ) +linear_damp = 0.1 + +[node name="coin 22" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 89.5989, 481.217 ) +linear_damp = 0.1 + +[node name="coin 23" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 108.175, 481.217 ) +linear_damp = 0.1 + +[node name="coin 24" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 116.136, 469.939 ) +linear_damp = 0.1 + +[node name="coin 25" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 117.463, 457.997 ) +linear_damp = 0.1 + +[node name="coin 26" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 106.184, 449.373 ) +linear_damp = 0.1 + +[node name="coin 27" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 98.2234, 458.661 ) +linear_damp = 0.1 + +[node name="coin 28" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 88.272, 448.71 ) +linear_damp = 0.1 + +[node name="coin 29" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 79.6476, 457.334 ) +linear_damp = 0.1 + +[node name="coin 30" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 82.9647, 468.612 ) +linear_damp = 0.1 + +[node name="coin 31" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3357.42, 465.288 ) +linear_damp = 0.1 + +[node name="coin 31 2" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3421.42, 465.288 ) +linear_damp = 0.1 + +[node name="coin 31 3" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3485.42, 465.288 ) +linear_damp = 0.1 + +[node name="coin 31 4" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3485.42, 401.288 ) +linear_damp = 0.1 + +[node name="coin 31 5" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3421.42, 401.288 ) +linear_damp = 0.1 + +[node name="coin 31 6" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 3357.42, 401.288 ) +linear_damp = 0.1 + +[node name="coin 32" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4172.75, 605.058 ) +linear_damp = 0.1 + +[node name="coin 31 7" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4236.75, 605.058 ) +linear_damp = 0.1 + +[node name="coin 31 7 2" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4300.75, 605.058 ) +linear_damp = 0.1 + +[node name="coin 31 7 3" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4300.75, 541.058 ) +linear_damp = 0.1 + +[node name="coin 31 7 4" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4236.75, 541.058 ) +linear_damp = 0.1 + +[node name="coin 31 7 5" parent="coins" instance=ExtResource( 2 )] + +transform/pos = Vector2( 4172.75, 541.058 ) +linear_damp = 0.1 + +[node name="props" type="Node" parent="."] + +[node name="moving_platform" parent="props" instance=ExtResource( 3 )] + +transform/pos = Vector2( 1451.86, 742.969 ) +motion = Vector2( 0, 140 ) +cycle = 5.0 + +[node name="moving_platform 2" parent="props" instance=ExtResource( 3 )] + +transform/pos = Vector2( 624.824, 545.544 ) +motion = Vector2( 300, 0 ) +cycle = 10.0 + +[node name="moving_platform 3" parent="props" instance=ExtResource( 3 )] + +transform/pos = Vector2( 3419.86, 739.662 ) +motion = Vector2( 450, 0 ) +cycle = 10.0 + +[node name="seesaw" parent="props" instance=ExtResource( 4 )] + +transform/pos = Vector2( 2402.79, 849.52 ) + +[node name="one_way_platform" parent="props" instance=ExtResource( 5 )] + +transform/pos = Vector2( 927.698, 1120.81 ) + +[node name="player" parent="." instance=ExtResource( 6 )] + +transform/pos = Vector2( 251.684, 1045.6 ) + +[node name="music" type="StreamPlayer" parent="."] + +stream/stream = ExtResource( 7 ) +stream/play = false +stream/loop = true +stream/volume_db = 2.0 +stream/autoplay = true +stream/paused = false +stream/loop_restart_time = 0.0 +stream/buffering_ms = 500 + +[node name="enemies" type="Node" parent="."] + +[node name="enemy 5" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 834.664, 1309.6 ) + +[node name="enemy 6" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 707.665, 1225.05 ) + +[node name="enemy 7" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1125.21, 1053.06 ) + +[node name="enemy 8" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1292.11, 1059.24 ) + +[node name="enemy 9" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1607.38, 923.239 ) + +[node name="enemy 10" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 2586.9, 939.059 ) + +[node name="enemy 11" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1457.6, 688.741 ) + +[node name="enemy 12" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 1193.63, 460.381 ) + +[node name="enemy 13" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 3429.73, 540.865 ) + +[node name="enemy 14" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 3546.2, 1356.19 ) + +[node name="enemy 15" parent="enemies" instance=ExtResource( 8 )] + +transform/pos = Vector2( 2406.63, 815.115 ) + +[node name="parallax_bg" parent="." instance=ExtResource( 9 )] + +[node name="Label" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 12.0 +margin/top = -202.0 +margin/right = 358.0 +margin/bottom = -10.0 +text = "This is a simple demo on how to make a platformer game with Godot.\"This version uses physics and the 2D physics engine for motion and collision.\"\"The demo also shows the benefits of using the scene system, where coins,\"enemies and the player are edited separatedly and instanced in the stage.\"\"To edit the base tiles for the tileset, open the tileset_edit.tscn file and follow \"instructions.\"" +autowrap = true +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/platformer/stage.xml b/demos/2d/platformer/stage.xml deleted file mode 100644 index ea0daf3ff8..0000000000 --- a/demos/2d/platformer/stage.xml +++ /dev/null @@ -1,250 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="10" version="2.0" version_name="Godot Engine v2.0.beta.custom_build"> - <ext_resource path="res://music.ogg" type="AudioStream" index="6"></ext_resource> - <ext_resource path="res://tileset.xml" type="TileSet" index="0"></ext_resource> - <ext_resource path="res://coin.xml" type="PackedScene" index="1"></ext_resource> - <ext_resource path="res://moving_platform.xml" type="PackedScene" index="2"></ext_resource> - <ext_resource path="res://one_way_platform.xml" type="PackedScene" index="4"></ext_resource> - <ext_resource path="res://player.xml" type="PackedScene" index="5"></ext_resource> - <ext_resource path="res://seesaw.xml" type="PackedScene" index="3"></ext_resource> - <ext_resource path="res://enemy.xml" type="PackedScene" index="7"></ext_resource> - <ext_resource path="res://parallax_bg.xml" type="PackedScene" index="8"></ext_resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="110"> - <string> "stage" </string> - <string> "__meta__" </string> - <string> "Node" </string> - <string> "tile_map" </string> - <string> "mode" </string> - <string> "tile_set" </string> - <string> "cell/size" </string> - <string> "cell/quadrant_size" </string> - <string> "cell/custom_transform" </string> - <string> "cell/half_offset" </string> - <string> "cell/tile_origin" </string> - <string> "cell/y_sort" </string> - <string> "collision/use_kinematic" </string> - <string> "collision/friction" </string> - <string> "collision/bounce" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "occluder/light_mask" </string> - <string> "tile_data" </string> - <string> "TileMap" </string> - <string> "coins" </string> - <string> "coin" </string> - <string> "transform/pos" </string> - <string> "linear_damp" </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> "props" </string> - <string> "moving_platform" </string> - <string> "motion" </string> - <string> "cycle" </string> - <string> "moving_platform 2" </string> - <string> "moving_platform 3" </string> - <string> "seesaw" </string> - <string> "one_way_platform" </string> - <string> "player" </string> - <string> "music" </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> "stream/loop_restart_time" </string> - <string> "stream/buffering_ms" </string> - <string> "StreamPlayer" </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> "Label" </string> - <string> "margin/left" </string> - <string> "margin/top" </string> - <string> "margin/right" </string> - <string> "margin/bottom" </string> - <string> "focus/ignore_mouse" </string> - <string> "focus/stop_mouse" </string> - <string> "size_flags/horizontal" </string> - <string> "text" </string> - <string> "autowrap" </string> - <string> "percent_visible" </string> - <string> "lines_skipped" </string> - <string> "max_lines_visible" </string> - </string_array> - <string> "node_count" </string> - <int> 67 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="757"> -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 19, 3, -1, 16, 4, 1, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 1, 11, 7, 12, 7, 13, 8, 14, 9, 15, 10, 16, 10, 17, 10, 18, 11, 1, 12, 0, 0, 0, 2, 20, -1, 0, 0, 2, 0, 2147483647, 21, 13, 2, 22, 14, 23, 15, 0, 2, 0, 2147483647, 24, 13, 2, 22, 16, 23, 15, 0, 2, 0, 2147483647, 25, 13, 2, 22, 17, 23, 15, 0, 2, 0, 2147483647, 26, 13, 2, 22, 18, 23, 15, 0, 2, 0, 2147483647, 27, 13, 2, 22, 19, 23, 15, 0, 2, 0, 2147483647, 28, 13, 2, 22, 20, 23, 15, 0, 2, 0, 2147483647, 29, 13, 2, 22, 21, 23, 15, 0, 2, 0, 2147483647, 30, 13, 2, 22, 22, 23, 15, 0, 2, 0, 2147483647, 31, 13, 2, 22, 23, 23, 15, 0, 2, 0, 2147483647, 32, 13, 2, 22, 24, 23, 15, 0, 2, 0, 2147483647, 33, 13, 2, 22, 25, 23, 15, 0, 2, 0, 2147483647, 34, 13, 2, 22, 26, 23, 15, 0, 2, 0, 2147483647, 35, 13, 2, 22, 27, 23, 15, 0, 2, 0, 2147483647, 36, 13, 2, 22, 28, 23, 15, 0, 2, 0, 2147483647, 37, 13, 2, 22, 29, 23, 15, 0, 2, 0, 2147483647, 38, 13, 2, 22, 30, 23, 15, 0, 2, 0, 2147483647, 39, 13, 2, 22, 31, 23, 15, 0, 2, 0, 2147483647, 40, 13, 2, 22, 32, 23, 15, 0, 2, 0, 2147483647, 41, 13, 2, 22, 33, 23, 15, 0, 2, 0, 2147483647, 42, 13, 2, 22, 34, 23, 15, 0, 2, 0, 2147483647, 43, 13, 2, 22, 35, 23, 15, 0, 2, 0, 2147483647, 44, 13, 2, 22, 36, 23, 15, 0, 2, 0, 2147483647, 45, 13, 2, 22, 37, 23, 15, 0, 2, 0, 2147483647, 46, 13, 2, 22, 38, 23, 15, 0, 2, 0, 2147483647, 47, 13, 2, 22, 39, 23, 15, 0, 2, 0, 2147483647, 48, 13, 2, 22, 40, 23, 15, 0, 2, 0, 2147483647, 49, 13, 2, 22, 41, 23, 15, 0, 2, 0, 2147483647, 50, 13, 2, 22, 42, 23, 15, 0, 2, 0, 2147483647, 51, 13, 2, 22, 43, 23, 15, 0, 2, 0, 2147483647, 52, 13, 2, 22, 44, 23, 15, 0, 2, 0, 2147483647, 53, 13, 2, 22, 45, 23, 15, 0, 2, 0, 2147483647, 54, 13, 2, 22, 46, 23, 15, 0, 2, 0, 2147483647, 55, 13, 2, 22, 47, 23, 15, 0, 2, 0, 2147483647, 56, 13, 2, 22, 48, 23, 15, 0, 2, 0, 2147483647, 57, 13, 2, 22, 49, 23, 15, 0, 2, 0, 2147483647, 58, 13, 2, 22, 50, 23, 15, 0, 2, 0, 2147483647, 59, 13, 2, 22, 51, 23, 15, 0, 2, 0, 2147483647, 60, 13, 2, 22, 52, 23, 15, 0, 2, 0, 2147483647, 61, 13, 2, 22, 53, 23, 15, 0, 2, 0, 2147483647, 62, 13, 2, 22, 54, 23, 15, 0, 2, 0, 2147483647, 63, 13, 2, 22, 55, 23, 15, 0, 2, 0, 2147483647, 64, 13, 2, 22, 56, 23, 15, 0, 0, 0, 2, 65, -1, 0, 0, 45, 0, 2147483647, 66, 57, 3, 22, 58, 67, 59, 68, 60, 0, 45, 0, 2147483647, 69, 57, 3, 22, 61, 67, 62, 68, 63, 0, 45, 0, 2147483647, 70, 57, 3, 22, 64, 67, 65, 68, 63, 0, 45, 0, 2147483647, 71, 66, 1, 22, 67, 0, 45, 0, 2147483647, 72, 68, 1, 22, 69, 0, 0, 0, 2147483647, 73, 70, 1, 22, 71, 0, 0, 0, 83, 74, -1, 8, 75, 72, 76, 7, 77, 73, 78, 74, 79, 73, 80, 7, 81, 9, 82, 75, 0, 0, 0, 2, 84, -1, 0, 0, 53, 0, 2147483647, 85, 76, 1, 22, 77, 0, 53, 0, 2147483647, 86, 76, 1, 22, 78, 0, 53, 0, 2147483647, 87, 76, 1, 22, 79, 0, 53, 0, 2147483647, 88, 76, 1, 22, 80, 0, 53, 0, 2147483647, 89, 76, 1, 22, 81, 0, 53, 0, 2147483647, 90, 76, 1, 22, 82, 0, 53, 0, 2147483647, 91, 76, 1, 22, 83, 0, 53, 0, 2147483647, 92, 76, 1, 22, 84, 0, 53, 0, 2147483647, 93, 76, 1, 22, 85, 0, 53, 0, 2147483647, 94, 76, 1, 22, 86, 0, 53, 0, 2147483647, 95, 76, 1, 22, 87, 0, 0, 0, 2147483647, 96, 88, 0, 0, 0, 0, 97, 97, -1, 12, 98, 89, 99, 90, 100, 91, 101, 92, 102, 73, 103, 73, 104, 6, 105, 93, 106, 73, 107, 8, 108, 1, 109, 94, 0 </int_array> - <string> "variants" </string> - <array len="95" shared="false"> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - </dictionary> - <int> 0 </int> - <resource external="0"> </resource> - <vector2> 64, 64 </vector2> - <int> 8 </int> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 2 </int> - <bool> False </bool> - <real> 1 </real> - <real> 0 </real> - <int> 1 </int> - <int_array len="2008"> 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, 0, 983052, 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, 536870914, 1048587, 536870922, 1048588, 2, 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, 1114122, 536870925, 1114123, 11, 1114124, 13, 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, 1179664, 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, 0, 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> - <resource external="1"> </resource> - <vector2> 672, 1179 </vector2> - <real> 0.1 </real> - <vector2> 704, 1179 </vector2> - <vector2> 736, 1179 </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 external="2"> </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 external="3"> </resource> - <vector2> 2402.79, 849.52 </vector2> - <resource external="4"> </resource> - <vector2> 927.698, 1120.81 </vector2> - <resource external="5"> </resource> - <vector2> 251.684, 1045.6 </vector2> - <resource external="6"> </resource> - <bool> True </bool> - <real> 2 </real> - <int> 500 </int> - <resource external="7"> </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 external="8"> </resource> - <real> 12 </real> - <real> -202 </real> - <real> 358 </real> - <real> -10 </real> - <string> "This is a simple demo on how to make a platformer game with Godot."This version uses physics and the 2D physics engine for motion and collision.""The demo also shows the benefits of using the scene system, where coins,"enemies and the player are edited separatedly and instanced in the stage.""To edit the base tiles for the tileset, open the tileset_edit.xml file and follow "instructions."" </string> - <int> -1 </int> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/tileset.tres b/demos/2d/platformer/tileset.tres new file mode 100644 index 0000000000..17b7dd3b4d --- /dev/null +++ b/demos/2d/platformer/tileset.tres @@ -0,0 +1,195 @@ +[gd_resource type="TileSet" load_steps=14 format=1] + +[ext_resource path="res://tiles_demo.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 32, -24, 32, 32, -32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 24, -24, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -32, 32, -32, 32, 32, -32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 32, -24, 32, 24, -32, 24 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 24, -24, 24, 24, -32, 24 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] + +custom_solver_bias = 0.0 +points = Vector2Array( -64, 32, -64, -32, -8, -32, -8, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 ) + +[resource] + +0/name = "floor" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/region = Rect2( 0, 0, 64, 64 ) +0/occluder_offset = Vector2( 32, 32 ) +0/navigation_offset = Vector2( 32, 32 ) +0/shape_offset = Vector2( 32, 32 ) +0/shapes = [ SubResource( 1 ) ] +1/name = "edge" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( 0, 0 ) +1/region = Rect2( 64, 0, 64, 64 ) +1/occluder_offset = Vector2( 32, 32 ) +1/navigation_offset = Vector2( 32, 32 ) +1/shape_offset = Vector2( 32, 32 ) +1/shapes = [ SubResource( 2 ) ] +2/name = "wall" +2/texture = ExtResource( 1 ) +2/tex_offset = Vector2( 0, 0 ) +2/region = Rect2( 64, 64, 64, 64 ) +2/occluder_offset = Vector2( 32, 32 ) +2/navigation_offset = Vector2( 32, 32 ) +2/shape_offset = Vector2( 32, 32 ) +2/shapes = [ SubResource( 8 ) ] +3/name = "wall_deco" +3/texture = ExtResource( 1 ) +3/tex_offset = Vector2( 0, 0 ) +3/region = Rect2( 320, 128, 128, 64 ) +3/occluder_offset = Vector2( 64, 32 ) +3/navigation_offset = Vector2( 64, 32 ) +3/shape_offset = Vector2( 64, 32 ) +3/shapes = [ SubResource( 9 ) ] +4/name = "corner" +4/texture = ExtResource( 1 ) +4/tex_offset = Vector2( 0, 0 ) +4/region = Rect2( 64, 128, 64, 64 ) +4/occluder_offset = Vector2( 32, 32 ) +4/navigation_offset = Vector2( 32, 32 ) +4/shape_offset = Vector2( 32, 32 ) +4/shapes = [ SubResource( 10 ) ] +5/name = "flowers" +5/texture = ExtResource( 1 ) +5/tex_offset = Vector2( 0, 0 ) +5/region = Rect2( 192, 192, 64, 64 ) +5/occluder_offset = Vector2( 32, 32 ) +5/navigation_offset = Vector2( 32, 32 ) +5/shape_offset = Vector2( 32, 32 ) +5/shapes = [ SubResource( 11 ) ] +6/name = "tree_base" +6/texture = ExtResource( 1 ) +6/tex_offset = Vector2( 0, 0 ) +6/region = Rect2( 256, 192, 64, 64 ) +6/occluder_offset = Vector2( 32, 32 ) +6/navigation_offset = Vector2( 32, 32 ) +6/shape_offset = Vector2( 32, 32 ) +6/shapes = [ SubResource( 12 ) ] +7/name = "tree_mid" +7/texture = ExtResource( 1 ) +7/tex_offset = Vector2( 0, 0 ) +7/region = Rect2( 256, 128, 64, 64 ) +7/occluder_offset = Vector2( 32, 32 ) +7/navigation_offset = Vector2( 32, 32 ) +7/shape_offset = Vector2( 0, 0 ) +7/shapes = [ ] +8/name = "tree_mid 2" +8/texture = ExtResource( 1 ) +8/tex_offset = Vector2( 0, 0 ) +8/region = Rect2( 256, 64, 64, 64 ) +8/occluder_offset = Vector2( 32, 32 ) +8/navigation_offset = Vector2( 32, 32 ) +8/shape_offset = Vector2( 0, 0 ) +8/shapes = [ ] +9/name = "tree_top" +9/texture = ExtResource( 1 ) +9/tex_offset = Vector2( 0, 0 ) +9/region = Rect2( 256, 0, 64, 64 ) +9/occluder_offset = Vector2( 32, 32 ) +9/navigation_offset = Vector2( 32, 32 ) +9/shape_offset = Vector2( 0, 0 ) +9/shapes = [ ] +10/name = "solid" +10/texture = ExtResource( 1 ) +10/tex_offset = Vector2( 0, 0 ) +10/region = Rect2( 0, 64, 64, 64 ) +10/occluder_offset = Vector2( 32, 32 ) +10/navigation_offset = Vector2( 32, 32 ) +10/shape_offset = Vector2( 0, 0 ) +10/shapes = [ ] +11/name = "ceiling" +11/texture = ExtResource( 1 ) +11/tex_offset = Vector2( 0, 0 ) +11/region = Rect2( 384, 64, 64, 64 ) +11/occluder_offset = Vector2( 32, 32 ) +11/navigation_offset = Vector2( 32, 32 ) +11/shape_offset = Vector2( 32, 32 ) +11/shapes = [ SubResource( 3 ) ] +12/name = "ramp" +12/texture = ExtResource( 1 ) +12/tex_offset = Vector2( 0, 0 ) +12/region = Rect2( 128, 128, 64, 128 ) +12/occluder_offset = Vector2( 32, 64 ) +12/navigation_offset = Vector2( 32, 64 ) +12/shape_offset = Vector2( 32, 64 ) +12/shapes = [ SubResource( 4 ) ] +13/name = "ceiling2wall" +13/texture = ExtResource( 1 ) +13/tex_offset = Vector2( 0, 0 ) +13/region = Rect2( 448, 64, 64, 64 ) +13/occluder_offset = Vector2( 32, 32 ) +13/navigation_offset = Vector2( 32, 32 ) +13/shape_offset = Vector2( 32, 32 ) +13/shapes = [ SubResource( 5 ) ] +14/name = "platform_floor" +14/texture = ExtResource( 1 ) +14/tex_offset = Vector2( 0, 0 ) +14/region = Rect2( 128, 0, 64, 64 ) +14/occluder_offset = Vector2( 32, 32 ) +14/navigation_offset = Vector2( 32, 32 ) +14/shape_offset = Vector2( 32, 32 ) +14/shapes = [ SubResource( 6 ) ] +15/name = "platform_edge" +15/texture = ExtResource( 1 ) +15/tex_offset = Vector2( 0, 0 ) +15/region = Rect2( 192, 0, 64, 64 ) +15/occluder_offset = Vector2( 32, 32 ) +15/navigation_offset = Vector2( 32, 32 ) +15/shape_offset = Vector2( 32, 32 ) +15/shapes = [ SubResource( 7 ) ] + diff --git a/demos/2d/platformer/tileset.xml b/demos/2d/platformer/tileset.xml deleted file mode 100644 index d8f9a651ee..0000000000 --- a/demos/2d/platformer/tileset.xml +++ /dev/null @@ -1,191 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="TileSet" subresource_count="14" version="1.0" version_name="Godot Engine v1.0.stable.custom_build"> - <ext_resource path="res://tiles_demo.png" type="Texture"></ext_resource> - <resource type="ConvexPolygonShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -24, 32, -24, 32, 32, -32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://2"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -24, 24, -24, 24, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://3"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -32, 24, -32, 24, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://4"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -64, 32, -64, -32, -8, -32, -8, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://5"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="5"> -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://6"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -24, 32, -24, 32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://7"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -24, 32, -24, 32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://8"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -32, 32, -32, 32, 32, -32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://9"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -56, 32, 8, 32, 64, -32, 64 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://10"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -32, 24, -32, 24, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://11"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -24, 32, -24, 32, 24, -32, 24 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://12"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -24, 24, -24, 24, 24, -32, 24 </vector2_array> - - </resource> - <main_resource> - <string name="0/name"> "floor" </string> - <resource name="0/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="0/tex_offset"> 0, 0 </vector2> - <vector2 name="0/shape_offset"> 32, 32 </vector2> - <rect2 name="0/region"> 0, 0, 64, 64 </rect2> - <array name="0/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://1"> </resource> - </array> - <string name="1/name"> "edge" </string> - <resource name="1/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="1/tex_offset"> 0, 0 </vector2> - <vector2 name="1/shape_offset"> 32, 32 </vector2> - <rect2 name="1/region"> 64, 0, 64, 64 </rect2> - <array name="1/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://2"> </resource> - </array> - <string name="2/name"> "wall" </string> - <resource name="2/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="2/tex_offset"> 0, 0 </vector2> - <vector2 name="2/shape_offset"> 32, 32 </vector2> - <rect2 name="2/region"> 64, 64, 64, 64 </rect2> - <array name="2/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://3"> </resource> - </array> - <string name="3/name"> "wall_deco" </string> - <resource name="3/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="3/tex_offset"> 0, 0 </vector2> - <vector2 name="3/shape_offset"> 64, 32 </vector2> - <rect2 name="3/region"> 320, 128, 128, 64 </rect2> - <array name="3/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://4"> </resource> - </array> - <string name="4/name"> "corner" </string> - <resource name="4/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="4/tex_offset"> 0, 0 </vector2> - <vector2 name="4/shape_offset"> 32, 32 </vector2> - <rect2 name="4/region"> 64, 128, 64, 64 </rect2> - <array name="4/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://5"> </resource> - </array> - <string name="5/name"> "flowers" </string> - <resource name="5/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="5/tex_offset"> 0, 0 </vector2> - <vector2 name="5/shape_offset"> 32, 32 </vector2> - <rect2 name="5/region"> 192, 192, 64, 64 </rect2> - <array name="5/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://6"> </resource> - </array> - <string name="6/name"> "tree_base" </string> - <resource name="6/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="6/tex_offset"> 0, 0 </vector2> - <vector2 name="6/shape_offset"> 32, 32 </vector2> - <rect2 name="6/region"> 256, 192, 64, 64 </rect2> - <array name="6/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://7"> </resource> - </array> - <string name="7/name"> "tree_mid" </string> - <resource name="7/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="7/tex_offset"> 0, 0 </vector2> - <vector2 name="7/shape_offset"> 0, 0 </vector2> - <rect2 name="7/region"> 256, 128, 64, 64 </rect2> - <array name="7/shapes" len="0" shared="false"> - </array> - <string name="8/name"> "tree_mid 2" </string> - <resource name="8/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="8/tex_offset"> 0, 0 </vector2> - <vector2 name="8/shape_offset"> 0, 0 </vector2> - <rect2 name="8/region"> 256, 64, 64, 64 </rect2> - <array name="8/shapes" len="0" shared="false"> - </array> - <string name="9/name"> "tree_top" </string> - <resource name="9/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="9/tex_offset"> 0, 0 </vector2> - <vector2 name="9/shape_offset"> 0, 0 </vector2> - <rect2 name="9/region"> 256, 0, 64, 64 </rect2> - <array name="9/shapes" len="0" shared="false"> - </array> - <string name="10/name"> "solid" </string> - <resource name="10/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="10/tex_offset"> 0, 0 </vector2> - <vector2 name="10/shape_offset"> 0, 0 </vector2> - <rect2 name="10/region"> 0, 64, 64, 64 </rect2> - <array name="10/shapes" len="0" shared="false"> - </array> - <string name="11/name"> "ceiling" </string> - <resource name="11/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="11/tex_offset"> 0, 0 </vector2> - <vector2 name="11/shape_offset"> 32, 32 </vector2> - <rect2 name="11/region"> 384, 64, 64, 64 </rect2> - <array name="11/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://8"> </resource> - </array> - <string name="12/name"> "ramp" </string> - <resource name="12/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="12/tex_offset"> 0, 0 </vector2> - <vector2 name="12/shape_offset"> 32, 64 </vector2> - <rect2 name="12/region"> 128, 128, 64, 128 </rect2> - <array name="12/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://9"> </resource> - </array> - <string name="13/name"> "ceiling2wall" </string> - <resource name="13/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="13/tex_offset"> 0, 0 </vector2> - <vector2 name="13/shape_offset"> 32, 32 </vector2> - <rect2 name="13/region"> 448, 64, 64, 64 </rect2> - <array name="13/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://10"> </resource> - </array> - <string name="14/name"> "platform_floor" </string> - <resource name="14/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="14/tex_offset"> 0, 0 </vector2> - <vector2 name="14/shape_offset"> 32, 32 </vector2> - <rect2 name="14/region"> 128, 0, 64, 64 </rect2> - <array name="14/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://11"> </resource> - </array> - <string name="15/name"> "platform_edge" </string> - <resource name="15/texture" resource_type="Texture" path="res://tiles_demo.png"> </resource> - <vector2 name="15/tex_offset"> 0, 0 </vector2> - <vector2 name="15/shape_offset"> 32, 32 </vector2> - <rect2 name="15/region"> 192, 0, 64, 64 </rect2> - <array name="15/shapes" len="1" shared="false"> - <resource resource_type="Shape2D" path="local://12"> </resource> - </array> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/tileset_edit.tscn b/demos/2d/platformer/tileset_edit.tscn new file mode 100644 index 0000000000..733fada55d --- /dev/null +++ b/demos/2d/platformer/tileset_edit.tscn @@ -0,0 +1,432 @@ +[gd_scene load_steps=14 format=1] + +[ext_resource path="res://tiles_demo.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 32, -24, 32, 32, -32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 24, -24, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] + +custom_solver_bias = 0.0 +points = Vector2Array( -64, 32, -64, -32, -8, -32, -8, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -24, 32, -24, 32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -32, 32, -32, 32, 32, -32, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, 32, -32, -32, 24, -32, 24, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 32, -24, 32, 24, -32, 24 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] + +custom_solver_bias = 0.0 +points = Vector2Array( -32, -24, 24, -24, 24, 24, -32, 24 ) + +[node name="Node" type="Node"] + +[node name="floor" type="Sprite" parent="."] + +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 0, 0, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="floor"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="floor/collision"] + +build_mode = 0 +polygon = Vector2Array( 32, -24, 32, 32, -32, 32, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="edge" type="Sprite" parent="."] + +transform/pos = Vector2( 64, 0 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 64, 0, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="edge"] + +input/pickable = false +shapes/0/shape = SubResource( 2 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="edge/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -24, 24, -24, 24, 32, -32, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="wall" type="Sprite" parent="."] + +transform/pos = Vector2( 64, 64 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 64, 64, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="wall"] + +input/pickable = false +shapes/0/shape = SubResource( 3 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="wall/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -32, 24, -32, 24, 32, -32, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="wall_deco" type="Sprite" parent="."] + +transform/pos = Vector2( 96, 128 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 320, 128, 128, 64 ) + +[node name="collision" type="StaticBody2D" parent="wall_deco"] + +input/pickable = false +shapes/0/shape = SubResource( 4 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="wall_deco/collision"] + +build_mode = 0 +polygon = Vector2Array( -64, -32, -8, -32, -8, 32, -64, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="corner" type="Sprite" parent="."] + +transform/pos = Vector2( 64, 192 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 64, 128, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="corner"] + +input/pickable = false +shapes/0/shape = SubResource( 5 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="corner/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -32, 24, -32, 32, -24, 32, 32, -32, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="flowers" type="Sprite" parent="."] + +transform/pos = Vector2( 128, 192 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 192, 192, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="flowers"] + +input/pickable = false +shapes/0/shape = SubResource( 6 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="flowers/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, 32, 32, 32, 32, -24, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="tree_base" type="Sprite" parent="."] + +transform/pos = Vector2( 192, 192 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 256, 192, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="tree_base"] + +input/pickable = false +shapes/0/shape = SubResource( 7 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="tree_base/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, 32, 32, 32, 32, -24, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="tree_mid" type="Sprite" parent="."] + +transform/pos = Vector2( 192, 128 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 256, 128, 64, 64 ) + +[node name="tree_mid 2" type="Sprite" parent="."] + +transform/pos = Vector2( 192, 64 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 256, 64, 64, 64 ) + +[node name="tree_top" type="Sprite" parent="."] + +transform/pos = Vector2( 192, 0 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 256, 0, 64, 64 ) + +[node name="solid" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 64 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 0, 64, 64, 64 ) + +[node name="ceiling" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 128 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 384, 64, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="ceiling"] + +input/pickable = false +shapes/0/shape = SubResource( 8 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ceiling/collision"] + +build_mode = 0 +polygon = Vector2Array( 32, -32, 32, 32, -32, 32, -32, -32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="ramp" type="Sprite" parent="."] + +transform/pos = Vector2( 256, 224 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 128, 128, 64, 128 ) + +[node name="collision" type="StaticBody2D" parent="ramp"] + +input/pickable = false +shapes/0/shape = SubResource( 9 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ramp/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -56, 32, 8, 32, 64, -32, 64 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="ceiling2wall" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 192 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 448, 64, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="ceiling2wall"] + +input/pickable = false +shapes/0/shape = SubResource( 10 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ceiling2wall/collision"] + +build_mode = 0 +polygon = Vector2Array( -32, -32, 24, -32, 24, 32, -32, 32 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="platform_floor" type="Sprite" parent="."] + +transform/pos = Vector2( 0, 256 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 128, 0, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="platform_floor"] + +input/pickable = false +shapes/0/shape = SubResource( 11 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform_floor/collision"] + +build_mode = 0 +polygon = Vector2Array( 32, -24, 32, 24, -32, 24, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="platform_edge" type="Sprite" parent="."] + +transform/pos = Vector2( 64, 256 ) +texture = ExtResource( 1 ) +region = true +region_rect = Rect2( 192, 0, 64, 64 ) + +[node name="collision" type="StaticBody2D" parent="platform_edge"] + +input/pickable = false +shapes/0/shape = SubResource( 12 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="platform_edge/collision"] + +build_mode = 0 +polygon = Vector2Array( 24, -24, 24, 24, -32, 24, -32, -24 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="help" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 1.0 +margin/top = 331.0 +margin/right = 727.0 +margin/bottom = 422.0 +text = "This scene serves as a tool for editing the tileset.\nNodes (sprites) and their respective collisionsare edited here.\n\nTo create a tileset from this, a \"TileSet\" resoucre must be created. Use the helper in: Scene -> Convert To -> TileSet.\nThis will save a tileset. Saving over it will merge your changes.\n\nFinally, the saved tileset resource (tileset.tres in this case), can be opened to be used into a TileMap node for editing a tile map." +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + + diff --git a/demos/2d/platformer/tileset_edit.xml b/demos/2d/platformer/tileset_edit.xml deleted file mode 100644 index 3ae9f1bd2a..0000000000 --- a/demos/2d/platformer/tileset_edit.xml +++ /dev/null @@ -1,342 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="14" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://tiles_demo.png" type="Texture" index="0"></ext_resource> - <resource type="ConvexPolygonShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -24, 32, -24, 32, 32, -32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://2"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -24, 24, -24, 24, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://3"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -32, 24, -32, 24, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://4"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -64, 32, -64, -32, -8, -32, -8, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://5"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="5"> -32, 32, -32, -32, 24, -32, 32, -24, 32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://6"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -24, 32, -24, 32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://7"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -24, 32, -24, 32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://8"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -32, 32, -32, 32, 32, -32, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://9"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -56, 32, 8, 32, 64, -32, 64 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://10"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, 32, -32, -32, 24, -32, 24, 32 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://11"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -24, 32, -24, 32, 24, -32, 24 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://12"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -32, -24, 24, -24, 24, 24, -32, 24 </vector2_array> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="49"> - <string> "Node" </string> - <string> "__meta__" </string> - <string> "floor" </string> - <string> "texture" </string> - <string> "region" </string> - <string> "region_rect" </string> - <string> "Sprite" </string> - <string> "collision" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "constant_linear_velocity" </string> - <string> "constant_angular_velocity" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "StaticBody2D" </string> - <string> "CollisionPolygon2D" </string> - <string> "build_mode" </string> - <string> "polygon" </string> - <string> "shape_range" </string> - <string> "trigger" </string> - <string> "edge" </string> - <string> "transform/pos" </string> - <string> "wall" </string> - <string> "wall_deco" </string> - <string> "corner" </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> "ramp" </string> - <string> "ceiling2wall" </string> - <string> "help" </string> - <string> "focus/ignore_mouse" </string> - <string> "focus/stop_mouse" </string> - <string> "size_flags/horizontal" </string> - <string> "text" </string> - <string> "percent_visible" </string> - <string> "lines_skipped" </string> - <string> "max_lines_visible" </string> - <string> "Label" </string> - <string> "platform_floor" </string> - <string> "platform_edge" </string> - </string_array> - <string> "node_count" </string> - <int> 42 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="772"> -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 6, 2, -1, 3, 3, 1, 4, 2, 5, 3, 0, 1, 0, 18, 7, -1, 10, 8, 4, 9, 5, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 2, 0, 19, 19, -1, 4, 20, 11, 21, 12, 22, 13, 23, 4, 0, 0, 0, 6, 24, -1, 4, 25, 14, 3, 1, 4, 2, 5, 15, 0, 4, 0, 18, 7, -1, 10, 8, 4, 9, 16, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 5, 0, 19, 19, -1, 4, 20, 11, 21, 17, 22, 13, 23, 4, 0, 0, 0, 6, 26, -1, 4, 25, 18, 3, 1, 4, 2, 5, 19, 0, 7, 0, 18, 7, -1, 10, 8, 4, 9, 20, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 8, 0, 19, 19, -1, 4, 20, 11, 21, 21, 22, 13, 23, 4, 0, 0, 0, 6, 27, -1, 4, 25, 22, 3, 1, 4, 2, 5, 23, 0, 10, 0, 18, 7, -1, 10, 8, 4, 9, 24, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 11, 0, 19, 19, -1, 4, 20, 11, 21, 25, 22, 13, 23, 4, 0, 0, 0, 6, 28, -1, 4, 25, 26, 3, 1, 4, 2, 5, 27, 0, 13, 0, 18, 7, -1, 10, 8, 4, 9, 28, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 14, 0, 19, 19, -1, 4, 20, 11, 21, 29, 22, 13, 23, 4, 0, 0, 0, 6, 29, -1, 4, 25, 30, 3, 1, 4, 2, 5, 31, 0, 16, 0, 18, 7, -1, 10, 8, 4, 9, 32, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 17, 0, 19, 19, -1, 4, 20, 11, 21, 33, 22, 13, 23, 4, 0, 0, 0, 6, 30, -1, 4, 25, 34, 3, 1, 4, 2, 5, 35, 0, 19, 0, 18, 7, -1, 10, 8, 4, 9, 36, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 20, 0, 19, 19, -1, 4, 20, 11, 21, 33, 22, 13, 23, 4, 0, 0, 0, 6, 31, -1, 4, 25, 37, 3, 1, 4, 2, 5, 38, 0, 0, 0, 6, 32, -1, 4, 25, 39, 3, 1, 4, 2, 5, 40, 0, 0, 0, 6, 33, -1, 4, 25, 41, 3, 1, 4, 2, 5, 42, 0, 0, 0, 6, 34, -1, 4, 25, 43, 3, 1, 4, 2, 5, 44, 0, 0, 0, 6, 35, -1, 4, 25, 45, 3, 1, 4, 2, 5, 46, 0, 26, 0, 18, 7, -1, 10, 8, 4, 9, 47, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 27, 0, 19, 19, -1, 4, 20, 11, 21, 48, 22, 13, 23, 4, 0, 0, 0, 6, 36, -1, 4, 25, 49, 3, 1, 4, 2, 5, 50, 0, 29, 0, 18, 7, -1, 10, 8, 4, 9, 51, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 30, 0, 19, 19, -1, 4, 20, 11, 21, 52, 22, 13, 23, 4, 0, 0, 0, 6, 37, -1, 4, 25, 53, 3, 1, 4, 2, 5, 54, 0, 32, 0, 18, 7, -1, 10, 8, 4, 9, 55, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 33, 0, 19, 19, -1, 4, 20, 11, 21, 21, 22, 13, 23, 4, 0, 0, 0, 46, 38, -1, 7, 39, 2, 40, 2, 41, 56, 42, 57, 43, 10, 44, 11, 45, 58, 0, 0, 0, 6, 47, -1, 4, 25, 59, 3, 1, 4, 2, 5, 60, 0, 36, 0, 18, 7, -1, 10, 8, 4, 9, 61, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 37, 0, 19, 19, -1, 4, 20, 11, 21, 62, 22, 13, 23, 4, 0, 0, 0, 6, 48, -1, 4, 25, 63, 3, 1, 4, 2, 5, 64, 0, 39, 0, 18, 7, -1, 10, 8, 4, 9, 65, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 40, 0, 19, 19, -1, 4, 20, 11, 21, 66, 22, 13, 23, 4, 0 </int_array> - <string> "variants" </string> - <array len="67" shared="false"> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "Script" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -446.534, -87.6905 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1.670183 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <bool> True </bool> - <rect2> 0, 0, 64, 64 </rect2> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <vector2> 0, 0 </vector2> - <real> 0 </real> - <real> 1 </real> - <int> 0 </int> - <vector2_array len="4"> 32, -24, 32, 32, -32, 32, -32, -24 </vector2_array> - <vector2> -1, -1 </vector2> - <vector2> 64, 0 </vector2> - <rect2> 64, 0, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://2"> </resource> - <vector2_array len="4"> -32, -24, 24, -24, 24, 32, -32, 32 </vector2_array> - <vector2> 64, 64 </vector2> - <rect2> 64, 64, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://3"> </resource> - <vector2_array len="4"> -32, -32, 24, -32, 24, 32, -32, 32 </vector2_array> - <vector2> 96, 128 </vector2> - <rect2> 320, 128, 128, 64 </rect2> - <resource resource_type="Shape2D" path="local://4"> </resource> - <vector2_array len="4"> -64, -32, -8, -32, -8, 32, -64, 32 </vector2_array> - <vector2> 64, 192 </vector2> - <rect2> 64, 128, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://5"> </resource> - <vector2_array len="5"> -32, -32, 24, -32, 32, -24, 32, 32, -32, 32 </vector2_array> - <vector2> 128, 192 </vector2> - <rect2> 192, 192, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://6"> </resource> - <vector2_array len="4"> -32, 32, 32, 32, 32, -24, -32, -24 </vector2_array> - <vector2> 192, 192 </vector2> - <rect2> 256, 192, 64, 64 </rect2> - <resource resource_type="Shape2D" 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="Shape2D" path="local://8"> </resource> - <vector2_array len="4"> 32, -32, 32, 32, -32, 32, -32, -32 </vector2_array> - <vector2> 256, 224 </vector2> - <rect2> 128, 128, 64, 128 </rect2> - <resource resource_type="Shape2D" path="local://9"> </resource> - <vector2_array len="4"> -32, -56, 32, 8, 32, 64, -32, 64 </vector2_array> - <vector2> 0, 192 </vector2> - <rect2> 448, 64, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://10"> </resource> - <int> 2 </int> - <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. Use the helper in:

 Scene -< Convert To -< TileSet

This will save a tileset. Saving over it will merge your changes.

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> - <int> -1 </int> - <vector2> 0, 256 </vector2> - <rect2> 128, 0, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://11"> </resource> - <vector2_array len="4"> 32, -24, 32, 24, -32, 24, -32, -24 </vector2_array> - <vector2> 64, 256 </vector2> - <rect2> 192, 0, 64, 64 </rect2> - <resource resource_type="Shape2D" path="local://12"> </resource> - <vector2_array len="4"> 24, -24, 24, 24, -32, 24, -32, -24 </vector2_array> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/platformer/types.cache b/demos/2d/platformer/types.cache deleted file mode 100644 index a215e5f137..0000000000 --- a/demos/2d/platformer/types.cache +++ /dev/null @@ -1,64 +0,0 @@ -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 diff --git a/demos/2d/pong/engine.cfg b/demos/2d/pong/engine.cfg index 9e76449bcf..418f02c06b 100644 --- a/demos/2d/pong/engine.cfg +++ b/demos/2d/pong/engine.cfg @@ -1,7 +1,7 @@ [application] name="Pong" -main_scene="pong.xml" +main_scene="pong.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/pong/pong.tscn b/demos/2d/pong/pong.tscn new file mode 100644 index 0000000000..95aecc60f3 --- /dev/null +++ b/demos/2d/pong/pong.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://pong.gd" type="Script" id=1] +[ext_resource path="res://left_pallete.png" type="Texture" id=2] +[ext_resource path="res://right_pallete.png" type="Texture" id=3] +[ext_resource path="res://separator.png" type="Texture" id=4] +[ext_resource path="res://ball.png" type="Texture" id=5] + +[node name="game" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="left" type="Sprite" parent="."] + +transform/pos = Vector2( 67.6875, 183.208 ) +texture = ExtResource( 2 ) + +[node name="right" type="Sprite" parent="."] + +transform/pos = Vector2( 577, 187 ) +texture = ExtResource( 3 ) + +[node name="separator" type="Sprite" parent="."] + +transform/pos = Vector2( 320, 200 ) +texture = ExtResource( 4 ) + +[node name="ball" type="Sprite" parent="."] + +transform/pos = Vector2( 320.283, 188 ) +texture = ExtResource( 5 ) + + diff --git a/demos/2d/pong/pong.xml b/demos/2d/pong/pong.xml deleted file mode 100644 index 2189be7c62..0000000000 --- a/demos/2d/pong/pong.xml +++ /dev/null @@ -1,191 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="6" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://pong.gd" type="Script" index="0"></ext_resource> - <ext_resource path="res://left_pallete.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://separator.png" type="Texture" index="3"></ext_resource> - <ext_resource path="res://right_pallete.png" type="Texture" index="2"></ext_resource> - <ext_resource path="res://ball.png" type="Texture" index="4"></ext_resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="11"> - <string> "game" </string> - <string> "script/script" </string> - <string> "__meta__" </string> - <string> "Node2D" </string> - <string> "left" </string> - <string> "transform/pos" </string> - <string> "texture" </string> - <string> "Sprite" </string> - <string> "right" </string> - <string> "separator" </string> - <string> "ball" </string> - </string_array> - <string> "node_count" </string> - <int> 5 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="55"> -1, -1, 3, 0, -1, 2, 1, 0, 2, 1, 0, 0, 0, 7, 4, -1, 2, 5, 2, 6, 3, 0, 0, 0, 7, 8, -1, 2, 5, 4, 6, 5, 0, 0, 0, 7, 9, -1, 2, 5, 6, 6, 7, 0, 0, 0, 7, 10, -1, 2, 5, 8, 6, 9, 0 </int_array> - <string> "variants" </string> - <array len="10" shared="false"> - <resource external="0"> </resource> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "Script" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -54.59, -36.0052 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1.108033 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <vector2> 67.6875, 183.208 </vector2> - <resource external="1"> </resource> - <vector2> 577, 187 </vector2> - <resource external="2"> </resource> - <vector2> 320, 200 </vector2> - <resource external="3"> </resource> - <vector2> 320.283, 188 </vector2> - <resource external="4"> </resource> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/rubegoldberg/ball.tscn b/demos/2d/rubegoldberg/ball.tscn new file mode 100644 index 0000000000..0b11461c3b --- /dev/null +++ b/demos/2d/rubegoldberg/ball.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://art/bowling_ball.png" type="Texture" id=1] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 32.0 + +[node name="Ball" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 3.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/rubegoldberg/ball.xml b/demos/2d/rubegoldberg/ball.xml deleted file mode 100644 index 73b699514c..0000000000 --- a/demos/2d/rubegoldberg/ball.xml +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://art/bowling_ball.png" type="Texture" index="0"></ext_resource> - <resource type="CircleShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <real name="radius"> 32 </real> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="30"> - <string> "Ball" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "__meta__" </string> - <string> "RigidBody2D" </string> - <string> "Sprite" </string> - <string> "texture" </string> - <string> "CollisionShape2D" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - </string_array> - <string> "node_count" </string> - <int> 3 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="73"> -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 6, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 7, 20, 10, 21, 10, 22, 11, 0, 0, 0, 24, 24, -1, 1, 25, 12, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 13, 0 </int_array> - <string> "variants" </string> - <array len="14" shared="false"> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <int> 0 </int> - <real> 3 </real> - <real> 1 </real> - <real> 0 </real> - <bool> True </bool> - <vector2> 0, 0 </vector2> - <real> -1 </real> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -80.5995, -149.825 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1.50734 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <int> -1 </int> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/rubegoldberg/box.tscn b/demos/2d/rubegoldberg/box.tscn new file mode 100644 index 0000000000..f9f0455c1f --- /dev/null +++ b/demos/2d/rubegoldberg/box.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://art/box.png" type="Texture" id=1] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 32, 32 ) + +[node name="box" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/rubegoldberg/box.xml b/demos/2d/rubegoldberg/box.xml deleted file mode 100644 index c30d30e9f9..0000000000 --- a/demos/2d/rubegoldberg/box.xml +++ /dev/null @@ -1,214 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://art/box.png" type="Texture" index="0"></ext_resource> - <resource type="RectangleShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <vector2 name="extents"> 32, 32 </vector2> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="30"> - <string> "box" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "__meta__" </string> - <string> "RigidBody2D" </string> - <string> "Sprite" </string> - <string> "texture" </string> - <string> "CollisionShape2D" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - </string_array> - <string> "node_count" </string> - <int> 3 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="73"> -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 5, 10, 6, 11, 5, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 7, 18, 8, 19, 6, 20, 9, 21, 9, 22, 10, 0, 0, 0, 24, 24, -1, 1, 25, 11, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 12, 0 </int_array> - <string> "variants" </string> - <array len="13" shared="false"> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <int> 0 </int> - <real> 1 </real> - <real> 0 </real> - <bool> True </bool> - <vector2> 0, 0 </vector2> - <real> -1 </real> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -125, -163 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <int> -1 </int> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/rubegoldberg/domino.tscn b/demos/2d/rubegoldberg/domino.tscn new file mode 100644 index 0000000000..3b2dc134dc --- /dev/null +++ b/demos/2d/rubegoldberg/domino.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://art/domino.png" type="Texture" id=1] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 16, 64 ) + +[node name="domino" type="RigidBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 1.0 +friction = 0.5 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/rubegoldberg/domino.xml b/demos/2d/rubegoldberg/domino.xml deleted file mode 100644 index ec86c833df..0000000000 --- a/demos/2d/rubegoldberg/domino.xml +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://art/domino.png" type="Texture" index="0"></ext_resource> - <resource type="RectangleShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <vector2 name="extents"> 16, 64 </vector2> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="30"> - <string> "domino" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "__meta__" </string> - <string> "RigidBody2D" </string> - <string> "Sprite" </string> - <string> "texture" </string> - <string> "CollisionShape2D" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - </string_array> - <string> "node_count" </string> - <int> 3 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="73"> -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 5, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 7, 20, 10, 21, 10, 22, 11, 0, 0, 0, 24, 24, -1, 1, 25, 12, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 13, 0 </int_array> - <string> "variants" </string> - <array len="14" shared="false"> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <int> 0 </int> - <real> 1 </real> - <real> 0.5 </real> - <real> 0 </real> - <bool> True </bool> - <vector2> 0, 0 </vector2> - <real> -1 </real> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -135, -114 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <int> -1 </int> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/rubegoldberg/engine.cfg b/demos/2d/rubegoldberg/engine.cfg index bd1cc79ddb..1f746c136d 100644 --- a/demos/2d/rubegoldberg/engine.cfg +++ b/demos/2d/rubegoldberg/engine.cfg @@ -1,7 +1,7 @@ [application] name="Rube Goldberg" -main_scene="res://rubegoldberg.xml" +main_scene="res://rubegoldberg.tscn" icon="res://icon.png" [physics_2d] diff --git a/demos/2d/rubegoldberg/pendulum.tscn b/demos/2d/rubegoldberg/pendulum.tscn new file mode 100644 index 0000000000..b9e1bcd1f9 --- /dev/null +++ b/demos/2d/rubegoldberg/pendulum.tscn @@ -0,0 +1,248 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://art/box.png" type="Texture" id=1] +[ext_resource path="res://art/bowling_ball.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 3, 12 ) + +[sub_resource type="CircleShape2D" id=2] + +custom_solver_bias = 0.0 +radius = 16.0 + +[node name="pendulum" type="Node2D"] + +[node name="union_0" type="RigidBody2D" parent="."] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 0.2 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +__meta__ = { "_edit_group_":true } + +[node name="Sprite" type="Sprite" parent="union_0"] + +transform/scale = Vector2( 0.1, 0.4 ) +texture = ExtResource( 1 ) + +[node name="collision" type="CollisionShape2D" parent="union_0"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="union_ 2" type="RigidBody2D" parent="."] + +transform/pos = Vector2( 0, 26.9432 ) +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 0.2 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +__meta__ = { "_edit_group_":true } + +[node name="Sprite" type="Sprite" parent="union_ 2"] + +transform/scale = Vector2( 0.1, 0.4 ) +texture = ExtResource( 1 ) + +[node name="collision" type="CollisionShape2D" parent="union_ 2"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="union_ 3" type="RigidBody2D" parent="."] + +transform/pos = Vector2( 0, 53.8863 ) +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 0.2 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +__meta__ = { "_edit_group_":true } + +[node name="Sprite" type="Sprite" parent="union_ 3"] + +transform/scale = Vector2( 0.1, 0.4 ) +texture = ExtResource( 1 ) + +[node name="collision" type="CollisionShape2D" parent="union_ 3"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="union_ 4" type="RigidBody2D" parent="."] + +transform/pos = Vector2( 0, 81.4282 ) +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 0.2 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +__meta__ = { "_edit_group_":true } + +[node name="Sprite" type="Sprite" parent="union_ 4"] + +transform/scale = Vector2( 0.1, 0.4 ) +texture = ExtResource( 1 ) + +[node name="collision" type="CollisionShape2D" parent="union_ 4"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="joint1" type="PinJoint2D" parent="."] + +transform/pos = Vector2( 0, 13.771 ) +node_a = NodePath("../union_0") +node_b = NodePath("../union_ 2") +bias/bias = 0.0 +collision/exclude_nodes = true +softness = 0.0 + +[node name="joint 2_3" type="PinJoint2D" parent="."] + +transform/pos = Vector2( 0, 40.7141 ) +node_a = NodePath("../union_ 2") +node_b = NodePath("../union_ 3") +bias/bias = 0.0 +collision/exclude_nodes = true +softness = 0.0 + +[node name="joint 3_4" type="PinJoint2D" parent="."] + +transform/pos = Vector2( 0, 67.6573 ) +node_a = NodePath("../union_ 3") +node_b = NodePath("../union_ 4") +bias/bias = 0.2 +collision/exclude_nodes = true +softness = 0.0 + +[node name="ball" type="RigidBody2D" parent="."] + +transform/pos = Vector2( 0, 106.787 ) +transform/scale = Vector2( 0.98476, 1 ) +input/pickable = false +shapes/0/shape = SubResource( 2 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 0.2 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 +__meta__ = { "_edit_group_":true } + +[node name="Sprite" type="Sprite" parent="ball"] + +transform/scale = Vector2( 0.5, 0.5 ) +texture = ExtResource( 2 ) + +[node name="collision" type="CollisionShape2D" parent="ball"] + +shape = SubResource( 2 ) +trigger = false +_update_shape_index = -1 + +[node name="joint 4_ball" type="PinJoint2D" parent="."] + +transform/pos = Vector2( 0, 92.5287 ) +node_a = NodePath("../union_ 4") +node_b = NodePath("../ball") +bias/bias = 0.0 +collision/exclude_nodes = true +softness = 0.0 + +[node name="joint wall" type="PinJoint2D" parent="."] + +transform/pos = Vector2( 0, -12.1024 ) +node_a = NodePath("../union_0") +node_b = NodePath("") +bias/bias = 0.0 +collision/exclude_nodes = true +softness = 0.0 + + diff --git a/demos/2d/rubegoldberg/pendulum.xml b/demos/2d/rubegoldberg/pendulum.xml deleted file mode 100644 index 90ad45f287..0000000000 --- a/demos/2d/rubegoldberg/pendulum.xml +++ /dev/null @@ -1,269 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="5" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://art/bowling_ball.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://art/box.png" type="Texture" index="0"></ext_resource> - <resource type="RectangleShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <vector2 name="extents"> 3, 12 </vector2> - - </resource> - <resource type="CircleShape2D" path="local://2"> - <real name="custom_solver_bias"> 0 </real> - <real name="radius"> 16 </real> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="49"> - <string> "pendulum" </string> - <string> "__meta__" </string> - <string> "Node2D" </string> - <string> "union_0" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "RigidBody2D" </string> - <string> "Sprite" </string> - <string> "transform/scale" </string> - <string> "texture" </string> - <string> "collision" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - <string> "CollisionShape2D" </string> - <string> "union_ 2" </string> - <string> "transform/pos" </string> - <string> "union_ 3" </string> - <string> "union_ 4" </string> - <string> "joint1" </string> - <string> "node_a" </string> - <string> "node_b" </string> - <string> "bias/bias" </string> - <string> "softness" </string> - <string> "PinJoint2D" </string> - <string> "joint 2_3" </string> - <string> "joint 3_4" </string> - <string> "ball" </string> - <string> "joint 4_ball" </string> - <string> "joint wall" </string> - </string_array> - <string> "node_count" </string> - <int> 21 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="479"> -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 25, 3, -1, 22, 4, 1, 5, 2, 6, 3, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 12, 0, 1, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 1, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 34, -1, 23, 35, 16, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 4, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 4, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 36, -1, 23, 35, 19, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 7, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 7, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 37, -1, 23, 35, 20, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 10, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 10, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 43, 38, -1, 5, 35, 21, 39, 22, 40, 23, 41, 8, 42, 8, 0, 0, 0, 43, 44, -1, 5, 35, 24, 39, 23, 40, 25, 41, 8, 42, 8, 0, 0, 0, 43, 45, -1, 5, 35, 26, 39, 25, 40, 27, 41, 6, 42, 8, 0, 0, 0, 25, 46, -1, 24, 35, 28, 27, 29, 4, 1, 5, 30, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 16, 0, 26, 26, -1, 2, 27, 31, 28, 32, 0, 16, 0, 33, 29, -1, 3, 30, 30, 31, 1, 32, 15, 0, 0, 0, 43, 47, -1, 5, 35, 33, 39, 27, 40, 34, 41, 8, 42, 8, 0, 0, 0, 43, 48, -1, 5, 35, 35, 39, 22, 40, 36, 41, 8, 42, 8, 0 </int_array> - <string> "variants" </string> - <array len="37" shared="false"> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -121.028, 0.923909 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 2.78951 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <int> 0 </int> - <real> 0.2 </real> - <real> 1 </real> - <real> 0 </real> - <bool> True </bool> - <vector2> 0, 0 </vector2> - <real> -1 </real> - <dictionary shared="false"> - <string> "_edit_group_" </string> - <bool> True </bool> - </dictionary> - <vector2> 0.1, 0.4 </vector2> - <resource external="0"> </resource> - <int> -1 </int> - <vector2> 0, 26.9432 </vector2> - <matrix32> 1, -0, 0, 1, 0, 0 </matrix32> - <dictionary shared="false"> - <string> "_edit_group_" </string> - <bool> True </bool> - </dictionary> - <vector2> 0, 53.8863 </vector2> - <vector2> 0, 81.4282 </vector2> - <vector2> 0, 13.771 </vector2> - <node_path> "../union_0" </node_path> - <node_path> "../union_ 2" </node_path> - <vector2> 0, 40.7141 </vector2> - <node_path> "../union_ 3" </node_path> - <vector2> 0, 67.6573 </vector2> - <node_path> "../union_ 4" </node_path> - <vector2> 0, 106.787 </vector2> - <vector2> 0.98476, 1 </vector2> - <resource resource_type="Shape2D" path="local://2"> </resource> - <vector2> 0.5, 0.5 </vector2> - <resource external="1"> </resource> - <vector2> 0, 92.5287 </vector2> - <node_path> "../ball" </node_path> - <vector2> 0, -12.1024 </vector2> - <node_path> "" </node_path> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/rubegoldberg/platform.tscn b/demos/2d/rubegoldberg/platform.tscn new file mode 100644 index 0000000000..70584ca75c --- /dev/null +++ b/demos/2d/rubegoldberg/platform.tscn @@ -0,0 +1,33 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://art/platform.png" type="Texture" id=1] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 128, 16 ) + +[node name="platform" type="StaticBody2D"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/rubegoldberg/platform.xml b/demos/2d/rubegoldberg/platform.xml deleted file mode 100644 index 09cd0fdda6..0000000000 --- a/demos/2d/rubegoldberg/platform.xml +++ /dev/null @@ -1,200 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="3" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://art/platform.png" type="Texture" index="0"></ext_resource> - <resource type="RectangleShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <vector2 name="extents"> 128, 16 </vector2> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="19"> - <string> "platform" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "constant_linear_velocity" </string> - <string> "constant_angular_velocity" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "__meta__" </string> - <string> "StaticBody2D" </string> - <string> "Sprite" </string> - <string> "texture" </string> - <string> "CollisionShape2D" </string> - <string> "shape" </string> - <string> "trigger" </string> - <string> "_update_shape_index" </string> - </string_array> - <string> "node_count" </string> - <int> 3 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="51"> -1, -1, 12, 0, -1, 11, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 5, 11, 7, 0, 0, 0, 13, 13, -1, 1, 14, 8, 0, 0, 0, 15, 15, -1, 3, 16, 1, 17, 0, 18, 9, 0 </int_array> - <string> "variants" </string> - <array len="10" shared="false"> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <vector2> 0, 0 </vector2> - <real> 0 </real> - <real> 1 </real> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -135, -114 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <int> -1 </int> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/rubegoldberg/rubegoldberg.tscn b/demos/2d/rubegoldberg/rubegoldberg.tscn new file mode 100644 index 0000000000..995901d4ae --- /dev/null +++ b/demos/2d/rubegoldberg/rubegoldberg.tscn @@ -0,0 +1,98 @@ +[gd_scene load_steps=7 format=1] + +[ext_resource path="res://platform.tscn" type="PackedScene" id=1] +[ext_resource path="res://ball.tscn" type="PackedScene" id=2] +[ext_resource path="res://domino.tscn" type="PackedScene" id=3] +[ext_resource path="res://seesaw.tscn" type="PackedScene" id=4] +[ext_resource path="res://box.tscn" type="PackedScene" id=5] +[ext_resource path="res://pendulum.tscn" type="PackedScene" id=6] + +[node name="Node" type="Node"] + +[node name="platform" parent="." instance=ExtResource( 1 )] + +transform/pos = Vector2( 116.881, 145.589 ) +transform/rot = -20.8796 + +[node name="platform 2" parent="." instance=ExtResource( 1 )] + +transform/pos = Vector2( 336.29, 264.52 ) + +[node name="platform 3" parent="." instance=ExtResource( 1 )] + +transform/pos = Vector2( 526.99, 264.52 ) + +[node name="Ball" parent="." instance=ExtResource( 2 )] + +transform/pos = Vector2( 76.0801, 67.2141 ) + +[node name="domino" parent="." instance=ExtResource( 3 )] + +transform/pos = Vector2( 262.764, 182.008 ) + +[node name="domino 2" parent="." instance=ExtResource( 3 )] + +transform/pos = Vector2( 356.951, 182.008 ) + +[node name="domino 4" parent="." instance=ExtResource( 3 )] + +transform/pos = Vector2( 448.834, 179.291 ) + +[node name="platform 4" parent="." instance=ExtResource( 1 )] + +transform/pos = Vector2( 772.686, 345.917 ) +transform/rot = 76.7716 + +[node name="platform 5" parent="." instance=ExtResource( 1 )] + +transform/pos = Vector2( 640.041, 335.365 ) +transform/rot = 90.0 +transform/scale = Vector2( 0.5, 1 ) + +[node name="Ball 2" parent="." instance=ExtResource( 2 )] + +transform/pos = Vector2( 616.342, 214.247 ) + +[node name="platform 6" parent="." instance=ExtResource( 1 )] + +transform/pos = Vector2( 679.231, 588.598 ) + +[node name="platform 7" parent="." instance=ExtResource( 1 )] + +transform/pos = Vector2( 424.491, 588.598 ) + +[node name="platform 8" parent="." instance=ExtResource( 1 )] + +transform/pos = Vector2( 185.655, 588.598 ) + +[node name="SeeSaw" parent="." instance=ExtResource( 4 )] + +transform/pos = Vector2( 602.935, 554.501 ) + +[node name="box" parent="." instance=ExtResource( 5 )] + +transform/pos = Vector2( 476.002, 509.406 ) +transform/rot = 21.7373 + +[node name="pendulum" parent="." instance=ExtResource( 6 )] + +transform/pos = Vector2( 391.607, 305.444 ) + +[node name="pendulum 2" parent="." instance=ExtResource( 6 )] + +transform/pos = Vector2( 343.172, 303.774 ) + +[node name="pendulum 3" parent="." instance=ExtResource( 6 )] + +transform/pos = Vector2( 288.056, 303.774 ) + +[node name="pendulum 4" parent="." instance=ExtResource( 6 )] + +transform/pos = Vector2( 236.28, 303.774 ) + +[node name="Ball 5" parent="." instance=ExtResource( 2 )] + +transform/pos = Vector2( 116.165, 526.515 ) +velocity/linear = Vector2( 0, -200 ) + + diff --git a/demos/2d/rubegoldberg/rubegoldberg.xml b/demos/2d/rubegoldberg/rubegoldberg.xml deleted file mode 100644 index 490b0f9d34..0000000000 --- a/demos/2d/rubegoldberg/rubegoldberg.xml +++ /dev/null @@ -1,241 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="7" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://platform.xml" type="PackedScene" index="0"></ext_resource> - <ext_resource path="res://seesaw.xml" type="PackedScene" index="3"></ext_resource> - <ext_resource path="res://pendulum.xml" type="PackedScene" index="5"></ext_resource> - <ext_resource path="res://box.xml" type="PackedScene" index="4"></ext_resource> - <ext_resource path="res://ball.xml" type="PackedScene" index="1"></ext_resource> - <ext_resource path="res://domino.xml" type="PackedScene" index="2"></ext_resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="33"> - <string> "Node" </string> - <string> "__meta__" </string> - <string> "platform" </string> - <string> "transform/pos" </string> - <string> "transform/rot" </string> - <string> "input/pickable" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "platform 2" </string> - <string> "platform 3" </string> - <string> "Ball" </string> - <string> "gravity_scale" </string> - <string> "sleeping" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "domino" </string> - <string> "domino 2" </string> - <string> "domino 4" </string> - <string> "platform 4" </string> - <string> "platform 5" </string> - <string> "transform/scale" </string> - <string> "Ball 2" </string> - <string> "platform 6" </string> - <string> "platform 7" </string> - <string> "platform 8" </string> - <string> "SeeSaw" </string> - <string> "box" </string> - <string> "pendulum" </string> - <string> "pendulum 2" </string> - <string> "pendulum 3" </string> - <string> "pendulum 4" </string> - <string> "Ball 5" </string> - <string> "velocity/linear" </string> - </string_array> - <string> "node_count" </string> - <int> 21 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="347"> -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 2147483647, 2, 1, 5, 3, 2, 4, 3, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 8, 1, 4, 3, 6, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 9, 1, 4, 3, 7, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 10, 8, 8, 3, 9, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 15, 12, 8, 3, 13, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 16, 12, 8, 3, 14, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 17, 12, 8, 3, 15, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 18, 1, 5, 3, 16, 4, 17, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 19, 1, 6, 3, 18, 4, 19, 20, 20, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 21, 8, 8, 3, 21, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 22, 1, 4, 3, 22, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 23, 1, 4, 3, 23, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 24, 1, 4, 3, 24, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 25, 25, 1, 3, 26, 0, 0, 0, 2147483647, 26, 27, 9, 3, 28, 4, 29, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 27, 30, 1, 3, 31, 0, 0, 0, 2147483647, 28, 30, 1, 3, 32, 0, 0, 0, 2147483647, 29, 30, 1, 3, 33, 0, 0, 0, 2147483647, 30, 30, 1, 3, 34, 0, 0, 0, 2147483647, 31, 8, 9, 3, 35, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 32, 36, 13, 11, 14, 11, 0 </int_array> - <string> "variants" </string> - <array len="37" shared="false"> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -717.096, -249.162 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 0.598737 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <vector2> 116.881, 145.589 </vector2> - <real> -20.87962 </real> - <bool> False </bool> - <int> 1 </int> - <vector2> 336.29, 264.52 </vector2> - <vector2> 526.99, 264.52 </vector2> - <resource external="1"> </resource> - <vector2> 76.0801, 67.2141 </vector2> - <real> 1 </real> - <real> -1 </real> - <resource external="2"> </resource> - <vector2> 262.764, 182.008 </vector2> - <vector2> 356.951, 182.008 </vector2> - <vector2> 448.834, 179.291 </vector2> - <vector2> 772.686, 345.917 </vector2> - <real> 76.771606 </real> - <vector2> 640.041, 335.365 </vector2> - <real> 90 </real> - <vector2> 0.5, 1 </vector2> - <vector2> 616.342, 214.247 </vector2> - <vector2> 679.231, 588.598 </vector2> - <vector2> 424.491, 588.598 </vector2> - <vector2> 185.655, 588.598 </vector2> - <resource external="3"> </resource> - <vector2> 602.935, 554.501 </vector2> - <resource external="4"> </resource> - <vector2> 476.002, 509.406 </vector2> - <real> 21.737282 </real> - <resource external="5"> </resource> - <vector2> 391.607, 305.444 </vector2> - <vector2> 343.172, 303.774 </vector2> - <vector2> 288.056, 303.774 </vector2> - <vector2> 236.28, 303.774 </vector2> - <vector2> 116.165, 526.515 </vector2> - <vector2> 0, -200 </vector2> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/rubegoldberg/seesaw.tscn b/demos/2d/rubegoldberg/seesaw.tscn new file mode 100644 index 0000000000..3b915d3e7f --- /dev/null +++ b/demos/2d/rubegoldberg/seesaw.tscn @@ -0,0 +1,89 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://art/seesaw_base.png" type="Texture" id=1] +[ext_resource path="res://art/seesaw_top.png" type="Texture" id=2] + +[sub_resource type="ConcavePolygonShape2D" id=1] + +custom_solver_bias = 0.0 +segments = Vector2Array( -32.6231, 32.0838, -1.28218, -31.1383, -1.28218, -31.1383, 33.8412, 33.1645, 33.8412, 33.1645, -32.6231, 32.0838 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] + +custom_solver_bias = 0.0 +points = Vector2Array( -99.0874, 7.76759, -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723 ) + +[node name="SeeSaw" type="Node2D"] + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 1 ) + +[node name="StaticBody2D" type="StaticBody2D" parent="Sprite"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Sprite/StaticBody2D"] + +build_mode = 0 +polygon = Vector2Array( -32.6231, 32.0838, -1.28218, -31.1383, 33.8412, 33.1645 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="RigidBody2D" type="RigidBody2D" parent="."] + +transform/pos = Vector2( 1.19748, -29.9368 ) +transform/rot = 16.2233 +input/pickable = false +shapes/0/shape = SubResource( 2 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +mode = 0 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 1.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +velocity/linear = Vector2( 0, 0 ) +velocity/angular = 0.0 +damp_override/linear = -1.0 +damp_override/angular = -1.0 + +[node name="Sprite" type="Sprite" parent="RigidBody2D"] + +transform/scale = Vector2( 1, 0.5 ) +texture = ExtResource( 2 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="RigidBody2D"] + +build_mode = 0 +polygon = Vector2Array( -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723, -99.0874, 7.76759 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="PinJoint2D" type="PinJoint2D" parent="."] + +transform/pos = Vector2( 0, -31.1343 ) +node_a = NodePath("../RigidBody2D") +node_b = NodePath("../Sprite/StaticBody2D") +bias/bias = 0.0 +collision/exclude_nodes = true +softness = 0.0 + + diff --git a/demos/2d/rubegoldberg/seesaw.xml b/demos/2d/rubegoldberg/seesaw.xml deleted file mode 100644 index 281e4e7c0d..0000000000 --- a/demos/2d/rubegoldberg/seesaw.xml +++ /dev/null @@ -1,243 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="5" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://art/seesaw_top.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://art/seesaw_base.png" type="Texture" index="0"></ext_resource> - <resource type="ConcavePolygonShape2D" path="local://1"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="segments" len="6"> -32.6231, 32.0838, -1.28218, -31.1383, -1.28218, -31.1383, 33.8412, 33.1645, 33.8412, 33.1645, -32.6231, 32.0838 </vector2_array> - - </resource> - <resource type="ConvexPolygonShape2D" path="local://2"> - <real name="custom_solver_bias"> 0 </real> - <vector2_array name="points" len="4"> -99.0874, 7.76759, -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723 </vector2_array> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="43"> - <string> "SeeSaw" </string> - <string> "__meta__" </string> - <string> "Node2D" </string> - <string> "Sprite" </string> - <string> "texture" </string> - <string> "StaticBody2D" </string> - <string> "input/pickable" </string> - <string> "shapes/0/shape" </string> - <string> "shapes/0/transform" </string> - <string> "shapes/0/trigger" </string> - <string> "collision/layers" </string> - <string> "collision/mask" </string> - <string> "constant_linear_velocity" </string> - <string> "constant_angular_velocity" </string> - <string> "friction" </string> - <string> "bounce" </string> - <string> "CollisionPolygon2D" </string> - <string> "build_mode" </string> - <string> "polygon" </string> - <string> "shape_range" </string> - <string> "trigger" </string> - <string> "RigidBody2D" </string> - <string> "transform/pos" </string> - <string> "transform/rot" </string> - <string> "mode" </string> - <string> "mass" </string> - <string> "gravity_scale" </string> - <string> "custom_integrator" </string> - <string> "continuous_cd" </string> - <string> "contacts_reported" </string> - <string> "contact_monitor" </string> - <string> "sleeping" </string> - <string> "can_sleep" </string> - <string> "velocity/linear" </string> - <string> "velocity/angular" </string> - <string> "damp_override/linear" </string> - <string> "damp_override/angular" </string> - <string> "transform/scale" </string> - <string> "PinJoint2D" </string> - <string> "node_a" </string> - <string> "node_b" </string> - <string> "bias/bias" </string> - <string> "softness" </string> - </string_array> - <string> "node_count" </string> - <int> 8 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="156"> -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 3, 3, -1, 1, 4, 1, 0, 1, 0, 5, 5, -1, 10, 6, 2, 7, 3, 8, 4, 9, 2, 10, 5, 11, 5, 12, 6, 13, 7, 14, 8, 15, 7, 0, 2, 0, 16, 16, -1, 4, 17, 9, 18, 10, 19, 11, 20, 2, 0, 0, 0, 21, 21, -1, 23, 22, 12, 23, 13, 6, 2, 7, 14, 8, 4, 9, 2, 10, 5, 11, 5, 24, 9, 25, 8, 14, 8, 15, 7, 26, 8, 27, 2, 28, 9, 29, 9, 30, 2, 31, 2, 32, 15, 33, 6, 34, 7, 35, 16, 36, 16, 0, 4, 0, 3, 3, -1, 2, 37, 17, 4, 18, 0, 4, 0, 16, 16, -1, 4, 17, 9, 18, 19, 19, 11, 20, 2, 0, 0, 0, 38, 38, -1, 5, 22, 20, 39, 21, 40, 22, 41, 7, 42, 7, 0 </int_array> - <string> "variants" </string> - <array len="23" shared="false"> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -277.779, -292.484 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1.670183 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <bool> False </bool> - <resource resource_type="Shape2D" path="local://1"> </resource> - <matrix32> 1, 0, 0, 1, 0, 0 </matrix32> - <int> 1 </int> - <vector2> 0, 0 </vector2> - <real> 0 </real> - <real> 1 </real> - <int> 0 </int> - <vector2_array len="3"> -32.6231, 32.0838, -1.28218, -31.1383, 33.8412, 33.1645 </vector2_array> - <vector2> -1, -1 </vector2> - <vector2> 1.19748, -29.9368 </vector2> - <real> 16.223282 </real> - <resource resource_type="Shape2D" path="local://2"> </resource> - <bool> True </bool> - <real> -1 </real> - <vector2> 1, 0.5 </vector2> - <resource external="1"> </resource> - <vector2_array len="4"> -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723, -99.0874, 7.76759 </vector2_array> - <vector2> 0, -31.1343 </vector2> - <node_path> "../RigidBody2D" </node_path> - <node_path> "../Sprite/StaticBody2D" </node_path> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/screen_space_shaders/engine.cfg b/demos/2d/screen_space_shaders/engine.cfg index f7caa7abbc..9a74e7b7bd 100644 --- a/demos/2d/screen_space_shaders/engine.cfg +++ b/demos/2d/screen_space_shaders/engine.cfg @@ -1,7 +1,7 @@ [application] name="Screen-Space Shaders" -main_scene="res://screen_shaders.scn" +main_scene="res://screen_shaders.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/screen_space_shaders/screen_shaders.scn b/demos/2d/screen_space_shaders/screen_shaders.scn Binary files differdeleted file mode 100644 index 00c7fe8eba..0000000000 --- a/demos/2d/screen_space_shaders/screen_shaders.scn +++ /dev/null diff --git a/demos/2d/screen_space_shaders/screen_shaders.tscn b/demos/2d/screen_space_shaders/screen_shaders.tscn new file mode 100644 index 0000000000..98a3224696 --- /dev/null +++ b/demos/2d/screen_space_shaders/screen_shaders.tscn @@ -0,0 +1,512 @@ +[gd_scene load_steps=34 format=1] + +[ext_resource path="res://screen_shaders.gd" type="Script" id=1] +[ext_resource path="res://art/burano.jpg" type="Texture" id=2] +[ext_resource path="res://art/platformer.jpg" type="Texture" id=3] +[ext_resource path="res://art/mountains.jpg" type="Texture" id=4] +[ext_resource path="res://art/forest.jpg" type="Texture" id=5] +[ext_resource path="res://art/vignette.png" type="Texture" id=6] +[ext_resource path="res://art/white.png" type="Texture" id=7] +[ext_resource path="res://art/filmgrain.png" type="Texture" id=8] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"uniform texture vignette;\n\nCOLOR.rgb = texscreen(SCREEN_UV);\nCOLOR.rgb*= tex(vignette,UV).rgb;\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=2] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/vignette = ExtResource( 6 ) + +[sub_resource type="CanvasItemShader" id=3] + +_code = { "fragment":"uniform texture vignette;\nfloat radius = 0.003;\nvec3 col = vec3(0);\n\ncol+= texscreen(SCREEN_UV+vec2(-radius,-radius));\ncol+= texscreen(SCREEN_UV+vec2(0,-radius));\ncol+= texscreen(SCREEN_UV+vec2(radius,-radius));\n\ncol+= texscreen(SCREEN_UV+vec2(-radius,0));\ncol+= texscreen(SCREEN_UV+vec2(0,0));\ncol+= texscreen(SCREEN_UV+vec2(radius,0));\n\n\ncol+= texscreen(SCREEN_UV+vec2(-radius,radius));\ncol+= texscreen(SCREEN_UV+vec2(0,radius));\ncol+= texscreen(SCREEN_UV+vec2(radius,radius));\n\ncol/=9.0;\nCOLOR.rgb=col;\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=4] + +shader/shader = SubResource( 3 ) +shader/shading_mode = 0 +shader_param/vignette = ExtResource( 6 ) + +[sub_resource type="CanvasItemShader" id=5] + +_code = { "fragment":"uniform texture vignette;\nuniform float radius=0.005;\nuniform float etching=2.0;\nuniform float edge_darken=0.5;\n\nfloat d = length(UV-vec2(0.5,0.5))*etching;\nmat2 rot = mat2( vec2(cos(d),-sin(d)), vec2(sin(d),cos(d)) );\n\nvec3 col = vec3(0);\n\ncol+= texscreen(SCREEN_UV+rot*vec2(-radius,-radius));\ncol+= texscreen(SCREEN_UV+rot*vec2(0,-radius));\ncol+= texscreen(SCREEN_UV+rot*vec2(radius,-radius));\n\ncol+= texscreen(SCREEN_UV+rot*vec2(-radius,0));\nvec3 scol = texscreen(SCREEN_UV+vec2(0,0));\ncol+= scol;\ncol+= texscreen(SCREEN_UV+rot*vec2(radius,0));\n\n\ncol+= texscreen(SCREEN_UV+rot*vec2(-radius,radius));\ncol+= texscreen(SCREEN_UV+rot*vec2(0,radius));\ncol+= texscreen(SCREEN_UV+vec2(radius,radius));\n\ncol/=9.0;\nfloat v = tex(vignette,UV).r;\nCOLOR.rgb=mix(col,scol,v)*mix(1.0,v,edge_darken);\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=6] + +shader/shader = SubResource( 5 ) +shader/shading_mode = 0 +shader_param/vignette = ExtResource( 6 ) +shader_param/radius = 0.005 +shader_param/etching = 2.0 +shader_param/edge_darken = 0.5 + +[sub_resource type="CanvasItemMaterial" id=7] + +shader/shader = SubResource( 5 ) +shader/shading_mode = 0 +shader_param/vignette = ExtResource( 6 ) +shader_param/radius = 0.02 +shader_param/etching = 100.0 +shader_param/edge_darken = -0.5 + +[sub_resource type="CanvasItemShader" id=8] + +_code = { "fragment":"uniform float size_x=0.008;\nuniform float size_y=0.008;\n\nvec2 uv = SCREEN_UV;\nuv-=mod(uv,vec2(size_x,size_y));\n\nCOLOR.rgb= texscreen(uv);\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=9] + +shader/shader = SubResource( 8 ) +shader/shading_mode = 0 +shader_param/size_x = 0.01 +shader_param/size_y = 0.01 + +[sub_resource type="CanvasItemShader" id=10] + +_code = { "fragment":"uniform float rotation=3.0;\n\nvec2 uv = SCREEN_UV;\nvec2 rel = uv-vec2(0.5,0.5);\nfloat angle = length(rel)*rotation;\nmat2 rot = mat2(vec2(cos(angle),-sin(angle)),vec2(sin(angle),cos(angle)));\nrel = rot * rel;\nuv = clamp(rel + vec2(0.5,0.5),vec2(0,0),vec2(1,1));\nCOLOR.rgb= texscreen(uv);\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=11] + +shader/shader = SubResource( 10 ) +shader/shading_mode = 0 +shader_param/rotation = 3.0 + +[sub_resource type="CanvasItemShader" id=12] + +_code = { "fragment":"uniform color base=color(0.75,0.6,0.6,1.0);\nvec3 c = texscreen(SCREEN_UV);\n\n//float v = max(c.r,max(c.g,c.b));\nfloat v = dot(c,vec3(0.33333,0.33333,0.33333));\nv=sqrt(v);\n//v*=v;\nCOLOR.rgb= base.rgb*v;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=13] + +shader/shader = SubResource( 12 ) +shader/shading_mode = 0 +shader_param/base = Color( 0.75, 0.566284, 0.6, 1 ) + +[sub_resource type="CanvasItemShader" id=14] + +_code = { "fragment":"vec3 c = texscreen(SCREEN_UV);\nc=vec3(1.0)-c;\nCOLOR.rgb=c;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=15] + +shader/shader = SubResource( 14 ) +shader/shading_mode = 0 + +[sub_resource type="CanvasItemShader" id=16] + +_code = { "fragment":"vec3 c = texscreen(SCREEN_UV);\nc=mod(c+vec3(0.5),vec3(1.0));\nCOLOR.rgb=c;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=17] + +shader/shader = SubResource( 16 ) +shader/shading_mode = 0 + +[sub_resource type="CanvasItemShader" id=18] + +_code = { "fragment":"vec3 c = texscreen(SCREEN_UV);\nCOLOR.rgb=normalize(c);\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=19] + +shader/shader = SubResource( 18 ) +shader/shading_mode = 0 + +[sub_resource type="CanvasItemShader" id=20] + +_code = { "fragment":"uniform float brightness=0.8;\nuniform float contrast=1.5;\nuniform float saturation=1.8;\n\nvec3 c = texscreen(SCREEN_UV);\n\nc.rgb = mix(vec3(0.0),c.rgb,brightness);\nc.rgb = mix(vec3(0.5),c.rgb,contrast);\nc.rgb = mix(vec3(dot(vec3(1.0),c.rgb)*0.33333),c.rgb,saturation);\n\nCOLOR.rgb=c;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=21] + +shader/shader = SubResource( 20 ) +shader/shading_mode = 0 +shader_param/brightness = 0.8 +shader_param/contrast = 1.5 +shader_param/saturation = 1.8 + +[sub_resource type="CanvasItemShader" id=22] + +_code = { "fragment":"uniform float frequency=60;\nuniform float depth = 0.005;\n\nvec2 uv = SCREEN_UV;\nuv.x += sin(uv.y*frequency+TIME)*depth;\nuv.x = clamp(uv.x,0,1);\nvec3 c = texscreen(uv);\n\n\nCOLOR.rgb=c;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=23] + +shader/shader = SubResource( 22 ) +shader/shading_mode = 0 +shader_param/frequency = 60.0 +shader_param/depth = 0.005 + +[sub_resource type="CanvasItemShader" id=24] + +_code = { "fragment":"uniform color base=color(0.75,0.6,0.6,1.0);\nuniform texture grain;\nuniform float grain_strength=0.3;\nuniform texture vignette;\nuniform float fps=12;\nuniform float stretch = 0.5;\nuniform float flashing=0.01;\n\nvec3 c = texscreen(SCREEN_UV);\n\n//float v = max(c.r,max(c.g,c.b));\nfloat v = dot(c,vec3(0.33333,0.33333,0.33333));\nv=sqrt(v);\n//v*=v;\nfloat make_grain(float time) {\n\n\tvec2 ofs = vec2(sin(41*time*sin(time*123)),sin(27*time*sin(time*312)));\n\treturn tex(grain,(UV+mod(ofs,vec2(1,1)))*stretch).r;\n}\n\nfloat f = 1.0/fps;\nfloat g = make_grain(TIME-mod(TIME,f));\ng=max(g,make_grain(TIME-mod(TIME,f)+f)*0.5);\ng=max(g,make_grain(TIME-mod(TIME,f)+f*2.0)*0.25);\n\n\nCOLOR.rgb= base.rgb*v-vec3(g)*grain_strength;\nCOLOR.rgb*=tex(vignette,UV).r;\nfloat ft = TIME * 0.002;\nCOLOR.rgb+=vec3(sin(75*ft*sin(ft*123)))*flashing;\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=25] + +shader/shader = SubResource( 24 ) +shader/shading_mode = 0 +shader_param/base = Color( 0.75, 0.566284, 0.6, 1 ) +shader_param/grain = ExtResource( 8 ) +shader_param/grain_strength = 0.3 +shader_param/vignette = ExtResource( 6 ) +shader_param/fps = 12.0 +shader_param/stretch = 0.5 +shader_param/flashing = 0.01 + +[node name="Control" type="Control"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +script/script = ExtResource( 1 ) + +[node name="pictures" type="Control" parent="."] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 + +[node name="burano" type="TextureFrame" parent="pictures"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = ExtResource( 2 ) + +[node name="roby" type="TextureFrame" parent="pictures"] + +visibility/visible = false +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = ExtResource( 3 ) + +[node name="mountains" type="TextureFrame" parent="pictures"] + +visibility/visible = false +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = ExtResource( 4 ) + +[node name="forest" type="TextureFrame" parent="pictures"] + +visibility/visible = false +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = ExtResource( 5 ) + +[node name="effects" type="Control" parent="."] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = -20.0 +margin/bottom = 0.0 + +[node name="disabled" type="Control" parent="effects"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 + +[node name="vignette" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 2 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="blur" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 4 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="radial_blur" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 6 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = -1.0 +margin/top = 0.0 +margin/right = 1.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="radial_etch" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 7 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = -1.0 +margin/top = 0.0 +margin/right = 1.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="pixelize" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 9 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="whirl" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 11 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="sepia" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 13 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="negative" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 15 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="contrasted" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 17 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="normalized" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 19 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="BCS" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 21 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 3.0 +margin/right = 0.0 +margin/bottom = -3.0 +texture = ExtResource( 7 ) +expand = true + +[node name="mirage" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 23 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="old_film" type="TextureFrame" parent="effects"] + +visibility/visible = false +material/material = SubResource( 25 ) +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = -3.0 +margin/top = 0.0 +margin/right = 3.0 +margin/bottom = 0.0 +texture = ExtResource( 7 ) +expand = true + +[node name="picture" type="OptionButton" parent="."] + +visibility/opacity = 0.8 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 8.0 +margin/top = 7.0 +margin/right = 131.0 +margin/bottom = 28.0 +toggle_mode = false +flat = false +align = 0 +selected = -1 +items = [ ] + +[node name="effect" type="OptionButton" parent="."] + +visibility/opacity = 0.8 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 137.0 +margin/top = 7.0 +margin/right = 260.0 +margin/bottom = 28.0 +toggle_mode = false +flat = false +align = 0 +selected = -1 +items = [ ] + +[connection signal="item_selected" from="picture" to="." method="_on_picture_item_selected"] + +[connection signal="item_selected" from="effect" to="." method="_on_effect_item_selected"] + + diff --git a/demos/2d/sdf_font/engine.cfg b/demos/2d/sdf_font/engine.cfg index bf983041fa..22f5e034cb 100644 --- a/demos/2d/sdf_font/engine.cfg +++ b/demos/2d/sdf_font/engine.cfg @@ -1,5 +1,5 @@ [application] name="Signed Distance Field Font" -main_scene="res://sdf.scn" +main_scene="res://sdf.tscn" icon="res://icon.png" diff --git a/demos/2d/sdf_font/sdf.scn b/demos/2d/sdf_font/sdf.scn Binary files differdeleted file mode 100644 index 4880500d6d..0000000000 --- a/demos/2d/sdf_font/sdf.scn +++ /dev/null diff --git a/demos/2d/sdf_font/sdf.tscn b/demos/2d/sdf_font/sdf.tscn new file mode 100644 index 0000000000..a3305c2edc --- /dev/null +++ b/demos/2d/sdf_font/sdf.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://font.fnt" type="Font" id=1] + +[sub_resource type="Animation" id=1] + +resource/name = "zoomin_zoomout" +length = 10.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("base:transform/scale") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 5 ), "transitions":FloatArray( -2, -2 ), "values":[ Vector2( 0.5, 0.5 ), Vector2( 20, 20 ) ] } + +[sub_resource type="Animation" id=2] + +length = 15.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("base:transform/rot") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 15 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, -360.0 ] } + +[node name="node" type="Node2D"] + +[node name="base" type="Position2D" parent="."] + +transform/pos = Vector2( 376.532, 275.119 ) +transform/scale = Vector2( 0.5, 0.5 ) + +[node name="Label" type="Label" parent="base"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = -132.0 +margin/top = -34.0 +margin/right = 124.0 +margin/bottom = 64.0 +custom_fonts/font = ExtResource( 1 ) +custom_colors/font_color = Color( 0.853858, 0.771714, 0.753746, 1 ) +custom_colors/font_color_shadow = Color( 0.56592, 0.454525, 0.518426, 1 ) +text = "Signed Distance\nField Font!!" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="zoom" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/zoomin_zoomout = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "zoomin_zoomout" + +[node name="rotate" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/rotate = SubResource( 2 ) +anims/zoomin_zoomout = SubResource( 1 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "rotate" + + diff --git a/demos/2d/shower_of_bullets/engine.cfg b/demos/2d/shower_of_bullets/engine.cfg index cad5751985..8db2ae9006 100644 --- a/demos/2d/shower_of_bullets/engine.cfg +++ b/demos/2d/shower_of_bullets/engine.cfg @@ -1,7 +1,7 @@ [application] name="Bullet Shower" -main_scene="res://shower.scn" +main_scene="res://shower.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/shower_of_bullets/shower.scn b/demos/2d/shower_of_bullets/shower.scn Binary files differdeleted file mode 100644 index 9e2181e9c6..0000000000 --- a/demos/2d/shower_of_bullets/shower.scn +++ /dev/null diff --git a/demos/2d/shower_of_bullets/shower.tscn b/demos/2d/shower_of_bullets/shower.tscn new file mode 100644 index 0000000000..9df555f96a --- /dev/null +++ b/demos/2d/shower_of_bullets/shower.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=7 format=1] + +[ext_resource path="res://shower.gd" type="Script" id=1] +[ext_resource path="res://bullets.gd" type="Script" id=2] +[ext_resource path="res://face_happy.png" type="Texture" id=3] +[ext_resource path="res://face_sad.png" type="Texture" id=4] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 14.0 + +[sub_resource type="SpriteFrames" id=2] + +frames = [ ExtResource( 3 ), ExtResource( 4 ) ] + +[node name="shower" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="bullets" type="Node2D" parent="."] + +script/script = ExtResource( 2 ) + +[node name="player" type="Area2D" parent="."] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 + +[node name="sprite" type="AnimatedSprite" parent="player"] + +transform/scale = Vector2( 0.5, 0.5 ) +frames = SubResource( 2 ) + +[node name="collision" type="CollisionShape2D" parent="player"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[connection signal="body_enter_shape" from="player" to="." method="_on_player_body_enter_shape"] + +[connection signal="body_exit_shape" from="player" to="." method="_on_player_body_exit_shape"] + + diff --git a/demos/2d/space_shooter/asteroid.scn b/demos/2d/space_shooter/asteroid.scn Binary files differdeleted file mode 100644 index 6bca98cd30..0000000000 --- a/demos/2d/space_shooter/asteroid.scn +++ /dev/null diff --git a/demos/2d/space_shooter/asteroid.tscn b/demos/2d/space_shooter/asteroid.tscn new file mode 100644 index 0000000000..ad57f6ef7c --- /dev/null +++ b/demos/2d/space_shooter/asteroid.tscn @@ -0,0 +1,129 @@ +[gd_scene load_steps=9 format=1] + +[ext_resource path="res://asteroid.gd" type="Script" id=1] +[ext_resource path="res://meteorite.png" type="Texture" id=2] +[ext_resource path="res://sound_explode.wav" type="Sample" id=3] + +[sub_resource type="CircleShape2D" id=1] + +custom_solver_bias = 0.0 +radius = 22.0 + +[sub_resource type="Animation" id=2] + +resource/name = "explode" +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("particles:config/emitting") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("sprite:visibility/visible") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/2/type = "method" +tracks/2/path = NodePath(".") +tracks/2/interp = 1 +tracks/2/keys = { "times":FloatArray( 0.7 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[sub_resource type="Animation" id=3] + +length = 3.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:transform/rot") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 3 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 360.0 ] } + +[sub_resource type="ColorRamp" id=4] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 1, 1, 1, 1, 1, 1, 0 ) + +[sub_resource type="SampleLibrary" id=5] + +samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 3 ) } + +[node name="asteroid" type="Area2D"] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 2 ) +anims/spin = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[node name="collision" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="visibility" type="VisibilityNotifier2D" parent="."] + +rect = Rect2( -10, -10, 20, 20 ) + +[node name="particles" type="Particles2D" parent="."] + +config/amount = 32 +config/lifetime = 0.5 +config/emitting = false +config/half_extents = Vector2( 20, 20 ) +config/explosiveness = 0.1 +config/texture = ExtResource( 2 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 200.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 0.5 +params/final_size = 0.2 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 4 ) + +[node name="sfx" type="SamplePlayer2D" parent="."] + +params/volume_db = 0.0 +params/pitch_scale = 1.0 +params/attenuation/min_distance = 1.0 +params/attenuation/max_distance = 2048.0 +params/attenuation/distance_exp = 1.0 +config/polyphony = 1 +config/samples = SubResource( 5 ) +config/pitch_random = 0.0 + +[connection signal="enter_screen" from="visibility" to="." method="_on_visibility_enter_screen"] + +[connection signal="exit_screen" from="visibility" to="." method="_on_visibility_exit_screen"] + + diff --git a/demos/2d/space_shooter/enemy1.scn b/demos/2d/space_shooter/enemy1.scn Binary files differdeleted file mode 100644 index 805071b772..0000000000 --- a/demos/2d/space_shooter/enemy1.scn +++ /dev/null diff --git a/demos/2d/space_shooter/enemy1.tscn b/demos/2d/space_shooter/enemy1.tscn new file mode 100644 index 0000000000..5fd4435382 --- /dev/null +++ b/demos/2d/space_shooter/enemy1.tscn @@ -0,0 +1,108 @@ +[gd_scene load_steps=9 format=1] + +[ext_resource path="res://enemy1.gd" type="Script" id=1] +[ext_resource path="res://enemy1.png" type="Texture" id=2] +[ext_resource path="res://explosion.tscn" type="PackedScene" id=3] +[ext_resource path="res://sound_explode.wav" type="Sample" id=4] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -25.3272, 15.4072, -31.2711, -7.28794, -1.01097, -20.7969, 24.9263, -4.58614, 30.3299, 13.2457, -2.63205, 17.5686 ) + +[sub_resource type="Animation" id=2] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:visibility/visible") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("explosion:config/emitting") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/2/type = "method" +tracks/2/path = NodePath("..") +tracks/2/interp = 1 +tracks/2/keys = { "times":FloatArray( 0.9 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[sub_resource type="Animation" id=3] + +length = 2.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1 ), "transitions":FloatArray( -1.86607, -1.86607 ), "values":[ Vector2( 0, -100 ), Vector2( 0, 100 ) ] } + +[sub_resource type="SampleLibrary" id=4] + +samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) } + +[node name="enemy1" type="Node2D"] + +[node name="area" type="Area2D" parent="."] + +transform/pos = Vector2( 0, -100 ) +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="collision" type="CollisionPolygon2D" parent="area"] + +build_mode = 0 +polygon = Vector2Array( -31.2711, -7.28794, -1.01097, -20.7969, 24.9263, -4.58614, 30.3299, 13.2457, -2.63205, 17.5686, -25.3272, 15.4072 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="sprite" type="Sprite" parent="area"] + +texture = ExtResource( 2 ) + +[node name="explosion" parent="area" instance=ExtResource( 3 )] + +transform/rot = -91.1436 +config/explosiveness = 0.1 +params/gravity_strength = 9.8 + +[node name="anim" type="AnimationPlayer" parent="area"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 2 ) +anims/zigzag = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[node name="visibility" type="VisibilityNotifier2D" parent="area"] + +rect = Rect2( -10, -10, 20, 20 ) + +[node name="sfx" type="SamplePlayer2D" parent="area"] + +params/volume_db = 0.0 +params/pitch_scale = 1.0 +params/attenuation/min_distance = 1.0 +params/attenuation/max_distance = 2048.0 +params/attenuation/distance_exp = 1.0 +config/polyphony = 1 +config/samples = SubResource( 4 ) +config/pitch_random = 0.0 + +[connection signal="enter_screen" from="area/visibility" to="area" method="_on_visibility_enter_screen"] + +[connection signal="exit_screen" from="area/visibility" to="area" method="_on_visibility_exit_screen"] + + diff --git a/demos/2d/space_shooter/enemy2.gd b/demos/2d/space_shooter/enemy2.gd index bfdb743103..cd06579d74 100644 --- a/demos/2d/space_shooter/enemy2.gd +++ b/demos/2d/space_shooter/enemy2.gd @@ -17,7 +17,7 @@ func _process(delta): shoot_timeout = SHOOT_INTERVAL # Instance a shot - var shot = preload("res://enemy_shot.scn").instance() + var shot = preload("res://enemy_shot.tscn").instance() # Set pos as "shoot_from" Position2D node shot.set_pos(get_node("shoot_from").get_global_pos()) # Add it to parent, so it has world coordinates diff --git a/demos/2d/space_shooter/enemy2.scn b/demos/2d/space_shooter/enemy2.scn Binary files differdeleted file mode 100644 index 644add77aa..0000000000 --- a/demos/2d/space_shooter/enemy2.scn +++ /dev/null diff --git a/demos/2d/space_shooter/enemy2.tscn b/demos/2d/space_shooter/enemy2.tscn new file mode 100644 index 0000000000..56d9f49720 --- /dev/null +++ b/demos/2d/space_shooter/enemy2.tscn @@ -0,0 +1,98 @@ +[gd_scene load_steps=8 format=1] + +[ext_resource path="res://enemy2.gd" type="Script" id=1] +[ext_resource path="res://enemy2.png" type="Texture" id=2] +[ext_resource path="res://explosion.tscn" type="PackedScene" id=3] +[ext_resource path="res://sound_explode.wav" type="Sample" id=4] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( -31.9306, -11.1163, 15.748, -16.1351, 32.2383, -3.94662, 25.7856, 13.6192, -20.4591, 16.1286 ) + +[sub_resource type="Animation" id=2] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("explosion:config/emitting") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("sprite:visibility/visible") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/2/type = "method" +tracks/2/path = NodePath(".") +tracks/2/interp = 1 +tracks/2/keys = { "times":FloatArray( 0.9 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } + +[sub_resource type="SampleLibrary" id=3] + +samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 4 ) } + +[node name="enemy2" type="Area2D"] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="collision" type="CollisionPolygon2D" parent="."] + +build_mode = 0 +polygon = Vector2Array( -31.9306, -11.1163, 15.748, -16.1351, 32.2383, -3.94662, 25.7856, 13.6192, -20.4591, 16.1286 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="explosion" parent="." instance=ExtResource( 3 )] + +transform/rot = -91.1436 +config/explosiveness = 0.1 +params/gravity_strength = 9.8 + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 2 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[node name="visibility" type="VisibilityNotifier2D" parent="."] + +rect = Rect2( -10, -10, 20, 20 ) + +[node name="sfx" type="SamplePlayer2D" parent="."] + +params/volume_db = 0.0 +params/pitch_scale = 1.0 +params/attenuation/min_distance = 1.0 +params/attenuation/max_distance = 2048.0 +params/attenuation/distance_exp = 1.0 +config/polyphony = 1 +config/samples = SubResource( 3 ) +config/pitch_random = 0.0 + +[node name="shoot_from" type="Position2D" parent="."] + +transform/pos = Vector2( -84.6027, 0.358482 ) + +[connection signal="enter_screen" from="visibility" to="." method="_on_visibility_enter_screen"] + +[connection signal="exit_screen" from="visibility" to="." method="_on_visibility_exit_screen"] + + diff --git a/demos/2d/space_shooter/enemy_shot.scn b/demos/2d/space_shooter/enemy_shot.scn Binary files differdeleted file mode 100644 index 353c9058f7..0000000000 --- a/demos/2d/space_shooter/enemy_shot.scn +++ /dev/null diff --git a/demos/2d/space_shooter/enemy_shot.tscn b/demos/2d/space_shooter/enemy_shot.tscn new file mode 100644 index 0000000000..da6ed6f806 --- /dev/null +++ b/demos/2d/space_shooter/enemy_shot.tscn @@ -0,0 +1,99 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://enemy_shot.gd" type="Script" id=1] +[ext_resource path="res://enemy_shot.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 10, 4 ) + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 1, 0.0491249, 0.0113636, 1, 1, 1, 1, 0 ) + +[sub_resource type="Animation" id=3] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("hit_splash:config/emitting") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/1/type = "method" +tracks/1/path = NodePath(".") +tracks/1/interp = 1 +tracks/1/keys = { "times":FloatArray( 0.9 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } +tracks/2/type = "value" +tracks/2/path = NodePath("sprite:visibility/visible") +tracks/2/interp = 1 +tracks/2/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } + +[node name="enemy_shot" type="Area2D"] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="visibility" type="VisibilityNotifier2D" parent="."] + +transform/pos = Vector2( 1.8353, -0.0742126 ) +transform/scale = Vector2( 1.54149, 0.770745 ) +rect = Rect2( -10, -10, 20, 20 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="collision" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="hit_splash" type="Particles2D" parent="."] + +config/amount = 32 +config/lifetime = 0.5 +config/emitting = false +config/explosiveness = 0.1 +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 50.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 3.0 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/splash = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[connection signal="exit_screen" from="visibility" to="." method="_on_visibility_exit_screen"] + + diff --git a/demos/2d/space_shooter/engine.cfg b/demos/2d/space_shooter/engine.cfg index 8047cebdd3..8563bd8aa9 100644 --- a/demos/2d/space_shooter/engine.cfg +++ b/demos/2d/space_shooter/engine.cfg @@ -1,7 +1,7 @@ [application] name="Simple Shooter" -main_scene="res://main_menu.scn" +main_scene="res://main_menu.tscn" icon="res://icon.png" [autoload] diff --git a/demos/2d/space_shooter/explosion.scn b/demos/2d/space_shooter/explosion.scn Binary files differdeleted file mode 100644 index 6fc105fac3..0000000000 --- a/demos/2d/space_shooter/explosion.scn +++ /dev/null diff --git a/demos/2d/space_shooter/explosion.tscn b/demos/2d/space_shooter/explosion.tscn new file mode 100644 index 0000000000..7c8f94be7d --- /dev/null +++ b/demos/2d/space_shooter/explosion.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://fire.png" type="Texture" id=1] + +[sub_resource type="ColorRamp" id=1] + +offsets = FloatArray( 0, 0.364725, 0.77494, 1 ) +colors = ColorArray( 1, 1, 1, 1, 1, 0, 0, 1, 0.184473, 0.181601, 0.181345, 1, 1, 1, 1, 0 ) + +[node name="explosion" type="Particles2D"] + +transform/pos = Vector2( 0.918983, -2.11041 ) +transform/rot = -91.1436 +config/amount = 32 +config/lifetime = 0.5 +config/emitting = false +config/explosiveness = 0.1 +config/texture = ExtResource( 1 ) +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 100.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 3.0 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 1 ) + + diff --git a/demos/2d/space_shooter/level.scn b/demos/2d/space_shooter/level.scn Binary files differdeleted file mode 100644 index 6d5f8005f5..0000000000 --- a/demos/2d/space_shooter/level.scn +++ /dev/null diff --git a/demos/2d/space_shooter/level.tscn b/demos/2d/space_shooter/level.tscn new file mode 100644 index 0000000000..840d66bd5a --- /dev/null +++ b/demos/2d/space_shooter/level.tscn @@ -0,0 +1,354 @@ +[gd_scene load_steps=7 format=1] + +[ext_resource path="res://tileset.tres" type="TileSet" id=1] +[ext_resource path="res://ship.tscn" type="PackedScene" id=2] +[ext_resource path="res://asteroid.tscn" type="PackedScene" id=3] +[ext_resource path="res://enemy1.tscn" type="PackedScene" id=4] +[ext_resource path="res://enemy2.tscn" type="PackedScene" id=5] +[ext_resource path="res://parallax.tscn" type="PackedScene" id=6] + +[node name="Node2D" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] + +mode = 0 +tile_set = ExtResource( 1 ) +cell/size = Vector2( 32, 32 ) +cell/quadrant_size = 16 +cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +cell/half_offset = 2 +cell/tile_origin = 0 +cell/y_sort = false +collision/use_kinematic = false +collision/friction = 1.0 +collision/bounce = 0.0 +collision/layers = 1 +collision/mask = 1 +occluder/light_mask = 1 +tile_data = IntArray( 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 31, 0, 32, 0, 33, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0, 63, 0, 64, 0, 99, 0, 100, 0, 101, 0, 102, 0, 103, 0, 104, 0, 105, 0, 106, 0, 107, 0, 108, 0, 109, 0, 110, 0, 111, 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, 0, 117, 0, 118, 0, 119, 0, 120, 0, 121, 0, 122, 0, 123, 0, 124, 0, 125, 0, 126, 0, 127, 0, 128, 0, 145, 0, 184, 0, 65556, 0, 65557, 0, 65558, 0, 65559, 0, 65560, 0, 65561, 0, 65562, 0, 65563, 0, 65564, 0, 65565, 0, 65566, 0, 65567, 0, 65568, 0, 65569, 0, 65570, 0, 65571, 0, 65572, 0, 65573, 0, 65574, 0, 65575, 0, 65599, 0, 65600, 0, 65637, 0, 65638, 0, 65639, 0, 65640, 0, 65641, 0, 65642, 0, 65643, 0, 65644, 0, 65645, 0, 65646, 0, 65647, 0, 65648, 0, 65649, 0, 65650, 0, 65651, 0, 65652, 0, 65653, 0, 65654, 0, 65655, 0, 65656, 0, 65657, 0, 65658, 0, 65659, 0, 65660, 0, 65661, 0, 65662, 0, 65663, 0, 65664, 0, 65681, 0, 65720, 0, 131094, 0, 131095, 0, 131096, 0, 131097, 0, 131098, 0, 131099, 0, 131100, 0, 131101, 0, 131102, 0, 131103, 0, 131104, 0, 131105, 0, 131106, 0, 131107, 0, 131108, 0, 131109, 0, 131135, 0, 131136, 0, 131137, 0, 131176, 0, 131177, 0, 131178, 0, 131179, 0, 131180, 0, 131181, 0, 131182, 0, 131183, 0, 131184, 0, 131185, 0, 131186, 0, 131187, 0, 131188, 0, 131189, 0, 131190, 0, 131191, 0, 131192, 0, 131193, 0, 131194, 0, 131195, 0, 131196, 0, 131197, 0, 131198, 0, 131199, 0, 131217, 0, 131256, 0, 196631, 0, 196632, 0, 196633, 0, 196634, 0, 196635, 0, 196636, 0, 196637, 0, 196638, 0, 196639, 0, 196640, 0, 196641, 0, 196642, 0, 196671, 0, 196672, 0, 196673, 0, 196716, 0, 196717, 0, 196718, 0, 196719, 0, 196720, 0, 196721, 0, 196722, 0, 196723, 0, 196724, 0, 196725, 0, 196726, 0, 196727, 0, 196728, 0, 196729, 0, 196730, 0, 196753, 0, 196792, 0, 262169, 0, 262170, 0, 262171, 0, 262172, 0, 262173, 0, 262174, 0, 262175, 0, 262207, 0, 262208, 0, 262209, 0, 262256, 0, 262257, 0, 262258, 0, 262259, 0, 262260, 0, 262261, 0, 262262, 0, 262263, 0, 262289, 0, 262328, 0, 327707, 0, 327708, 0, 327743, 0, 327744, 0, 327825, 0, 327826, 0, 327827, 0, 327828, 0, 327829, 0, 327830, 0, 327831, 0, 327832, 0, 327833, 0, 327834, 0, 327835, 0, 327836, 0, 327845, 0, 327846, 0, 327847, 0, 327848, 0, 327849, 0, 327850, 0, 327851, 0, 327852, 0, 327853, 0, 327854, 0, 327855, 0, 327856, 0, 327857, 0, 327864, 0, 327911, 0, 327912, 0, 328010, 0, 328011, 0, 328012, 0, 328013, 0, 328014, 0, 393372, 0, 393393, 0, 393400, 0, 393445, 0, 393446, 0, 393447, 0, 393448, 0, 393548, 0, 393549, 0, 393550, 0, 458908, 0, 458929, 0, 458936, 0, 458981, 0, 458982, 0, 458983, 0, 524444, 0, 524465, 0, 524472, 0, 524517, 0, 524518, 0, 589980, 0, 590001, 0, 590008, 0, 655516, 0, 655521, 0, 655522, 0, 655523, 0, 655524, 0, 655525, 0, 655526, 0, 655537, 0, 655544, 0, 655646, 0, 721041, 0, 721042, 0, 721043, 0, 721044, 0, 721045, 0, 721046, 0, 721052, 0, 721062, 0, 721073, 0, 721080, 0, 721181, 0, 721182, 0, 721183, 0, 721184, 0, 786577, 0, 786588, 0, 786598, 0, 786616, 0, 786717, 0, 786718, 0, 786719, 0, 786720, 0, 852113, 0, 852124, 0, 852134, 0, 852152, 0, 852253, 0, 852254, 0, 852255, 0, 917573, 0, 917574, 0, 917575, 0, 917576, 0, 917577, 0, 917578, 0, 917579, 0, 917580, 0, 917581, 0, 917582, 0, 917583, 0, 917584, 0, 917585, 0, 917649, 0, 917660, 0, 917670, 0, 917688, 0, 983106, 0, 983107, 0, 983108, 0, 983109, 0, 983110, 0, 983111, 0, 983112, 0, 983113, 0, 983114, 0, 983115, 0, 983116, 0, 983117, 0, 983118, 0, 983119, 0, 983120, 0, 983121, 0, 983122, 0, 983185, 0, 983206, 0, 983224, 0, 1048640, 0, 1048641, 0, 1048642, 0, 1048643, 0, 1048644, 0, 1048645, 0, 1048646, 0, 1048647, 0, 1048648, 0, 1048649, 0, 1048650, 0, 1048651, 0, 1048652, 0, 1048653, 0, 1048654, 0, 1048655, 0, 1048656, 0, 1048657, 0, 1048658, 0, 1048659, 0, 1048721, 0, 1048742, 0, 1048826, 0, 1048828, 0, 1114175, 0, 1114176, 0, 1114177, 0, 1114178, 0, 1114179, 0, 1114180, 0, 1114181, 0, 1114182, 0, 1114183, 0, 1114184, 0, 1114185, 0, 1114186, 0, 1114187, 0, 1114188, 0, 1114189, 0, 1114190, 0, 1114191, 0, 1114192, 0, 1114193, 0, 1114194, 0, 1114195, 0, 1114196, 0, 1114197, 0, 1114198, 0, 1114257, 0, 1114278, 0, 1114360, 0, 1114361, 0, 1114362, 0, 1114363, 0, 1114365, 0, 1114480, 0, 1114481, 0, 1179707, 0, 1179708, 0, 1179709, 0, 1179710, 0, 1179711, 0, 1179712, 0, 1179713, 0, 1179714, 0, 1179715, 0, 1179716, 0, 1179717, 0, 1179718, 0, 1179719, 0, 1179720, 0, 1179721, 0, 1179722, 0, 1179723, 0, 1179724, 0, 1179725, 0, 1179726, 0, 1179727, 0, 1179728, 0, 1179729, 0, 1179730, 0, 1179731, 0, 1179732, 0, 1179733, 0, 1179734, 0, 1179735, 0, 1179736, 0, 1179737, 0, 1179738, 0, 1179739, 0, 1179740, 0, 1179741, 0, 1179793, 0, 1179814, 0, 1179896, 0, 1179898, 0, 1179899, 0, 1179900, 0, 1179901, 0, 1180015, 0, 1180016, 0, 1180017, 0, 1180018, 0, 1180019, 0, 1245244, 0, 1245245, 0, 1245246, 0, 1245247, 0, 1245248, 0, 1245249, 0, 1245250, 0, 1245251, 0, 1245252, 0, 1245253, 0, 1245254, 0, 1245255, 0, 1245256, 0, 1245257, 0, 1245258, 0, 1245259, 0, 1245260, 0, 1245261, 0, 1245262, 0, 1245263, 0, 1245264, 0, 1245265, 0, 1245266, 0, 1245267, 0, 1245268, 0, 1245269, 0, 1245270, 0, 1245271, 0, 1245272, 0, 1245273, 0, 1245274, 0, 1245275, 0, 1245276, 0, 1245277, 0, 1245329, 0, 1245350, 0, 1245432, 0, 1245433, 0, 1245434, 0, 1245435, 0, 1245480, 0, 1245481, 0, 1245482, 0, 1245551, 0, 1245552, 0, 1245553, 0, 1245554, 0, 1310886, 0, 1310905, 0, 1311015, 0, 1311016, 0, 1311017, 0, 1311018, 0 ) + +[node name="rail" parent="." instance=ExtResource( 2 )] + +[node name="enemies" type="Node2D" parent="."] + +[node name="asteroid" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 1797.52, 105.736 ) +linear_damp = 0.1 + +[node name="asteroid1" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 1666.61, 304.621 ) +linear_damp = 0.1 + +[node name="asteroid2" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 1988.85, 443.086 ) +linear_damp = 0.1 + +[node name="asteroid3" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 2595.58, 103.219 ) +linear_damp = 0.1 + +[node name="asteroid4" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 3229.99, 299.586 ) +linear_damp = 0.1 + +[node name="asteroid5" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 3592.52, 541.269 ) +linear_damp = 0.1 + +[node name="asteroid6" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 4571.84, 216.508 ) +linear_damp = 0.1 + +[node name="asteroid7" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 4571.84, 284.481 ) +linear_damp = 0.1 + +[node name="asteroid8" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 4571.84, 360.007 ) +linear_damp = 0.1 + +[node name="asteroid9" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 5140.8, 108.254 ) +linear_damp = 0.1 + +[node name="asteroid10" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 5168.5, 475.814 ) +linear_damp = 0.1 + +[node name="asteroid11" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 5767.67, 113.289 ) +linear_damp = 0.1 + +[node name="asteroid12" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 6107.53, 480.849 ) +linear_damp = 0.1 + +[node name="asteroid13" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 6364.32, 105.736 ) +linear_damp = 0.1 + +[node name="asteroid14" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 6731.88, 573.997 ) +linear_damp = 0.1 + +[node name="asteroid15" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 7033.99, 166.157 ) +linear_damp = 0.1 + +[node name="asteroid16" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 6424.74, 352.454 ) +linear_damp = 0.1 + +[node name="asteroid17" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 7263.08, 80.5608 ) +linear_damp = 0.1 + +[node name="asteroid18" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 7177.49, 541.269 ) +linear_damp = 0.1 + +[node name="asteroid19" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 7066.71, 344.902 ) +linear_damp = 0.1 + +[node name="asteroid20" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 7655.82, 118.324 ) +linear_damp = 0.1 + +[node name="asteroid21" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 7540.01, 324.762 ) +linear_damp = 0.1 + +[node name="asteroid22" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 7764.07, 566.445 ) +linear_damp = 0.1 + +[node name="asteroid23" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 7872.33, 216.508 ) +linear_damp = 0.1 + +[node name="asteroid24" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 8458.91, 95.666 ) +linear_damp = 0.1 + +[node name="asteroid25" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 8786.19, 231.613 ) +linear_damp = 0.1 + +[node name="asteroid26" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 8599.89, 551.339 ) +linear_damp = 0.1 + +[node name="asteroid27" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 8353.17, 289.516 ) +linear_damp = 0.1 + +[node name="asteroid28" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 8995.14, 95.6658 ) +linear_damp = 0.1 + +[node name="asteroid29" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 9294.73, 579.032 ) +linear_damp = 0.1 + +[node name="asteroid30" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 9392.91, 140.981 ) +linear_damp = 0.1 + +[node name="asteroid31" parent="enemies" instance=ExtResource( 3 )] + +transform/pos = Vector2( 9644.67, 281.963 ) +linear_damp = 0.1 + +[node name="enemy1" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 2920.34, 365.042 ) + +[node name="enemy2" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 3894.62, 506.024 ) + +[node name="enemy3" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 4325.12, 302.104 ) + +[node name="enemy4" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 4753.1, 506.024 ) + +[node name="enemy5" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 5158.43, 211.473 ) + +[node name="enemy6" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 5490.74, 349.937 ) + +[node name="enemy7" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 5765.15, 546.305 ) + +[node name="enemy8" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 6142.78, 244.201 ) + +[node name="enemy9" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 6701.67, 221.543 ) + +[node name="enemy10" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 6701.67, 352.455 ) + +[node name="enemy11" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 6706.71, 500.989 ) + +[node name="enemy12" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 6711.74, 566.445 ) + +[node name="enemy13" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 7157.35, 332.314 ) + +[node name="enemy14" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 7421.69, 511.059 ) + +[node name="enemy15" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 7887.43, 239.166 ) + +[node name="enemy16" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 8463.95, 382.665 ) + +[node name="enemy17" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 9065.64, 244.201 ) + +[node name="enemy18" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 8967.46, 566.445 ) + +[node name="enemy19" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 9483.55, 422.946 ) + +[node name="enemy20" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 9687.47, 234.131 ) + +[node name="enemy21" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 9815.86, 579.033 ) + +[node name="enemy22" parent="enemies" instance=ExtResource( 4 )] + +transform/pos = Vector2( 9815.86, 579.033 ) + +[node name="enemy2 2" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 4759.97, 278.527 ) +linear_damp = 0.1 + +[node name="enemy23" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 6277.15, 559.36 ) +linear_damp = 0.1 + +[node name="enemy24" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 7136.77, 100.438 ) +linear_damp = 0.1 + +[node name="enemy25" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 7766.93, 370.996 ) +linear_damp = 0.1 + +[node name="enemy26" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 7890.23, 309.35 ) +linear_damp = 0.1 + +[node name="enemy27" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 8006.67, 237.43 ) +linear_damp = 0.1 + +[node name="enemy28" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 8664.23, 257.978 ) +linear_damp = 0.1 + +[node name="enemy29" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 8660.8, 357.297 ) +linear_damp = 0.1 + +[node name="enemy30" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 8657.38, 453.191 ) +linear_damp = 0.1 + +[node name="enemy31" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 9475.9, 189.483 ) +linear_damp = 0.1 + +[node name="enemy32" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 9564.95, 234.005 ) +linear_damp = 0.1 + +[node name="enemy33" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 9674.54, 281.952 ) +linear_damp = 0.1 + +[node name="enemy34" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 9575.22, 391.545 ) +linear_damp = 0.1 + +[node name="enemy35" parent="enemies" instance=ExtResource( 5 )] + +transform/pos = Vector2( 9458.78, 446.342 ) +linear_damp = 0.1 + +[node name="parallax" parent="." instance=ExtResource( 6 )] + + diff --git a/demos/2d/space_shooter/level_tiles.res b/demos/2d/space_shooter/level_tiles.res Binary files differdeleted file mode 100644 index 8712b8c799..0000000000 --- a/demos/2d/space_shooter/level_tiles.res +++ /dev/null diff --git a/demos/2d/space_shooter/level_tiles.scn b/demos/2d/space_shooter/level_tiles.scn Binary files differdeleted file mode 100644 index 932be39a29..0000000000 --- a/demos/2d/space_shooter/level_tiles.scn +++ /dev/null diff --git a/demos/2d/space_shooter/main_menu.gd b/demos/2d/space_shooter/main_menu.gd index a7f242da7b..0c7e0de542 100644 --- a/demos/2d/space_shooter/main_menu.gd +++ b/demos/2d/space_shooter/main_menu.gd @@ -8,4 +8,4 @@ func _ready(): func _on_play_pressed(): get_node("/root/game_state").points = 0 - get_tree().change_scene("res://level.scn") + get_tree().change_scene("res://level.tscn") diff --git a/demos/2d/space_shooter/main_menu.scn b/demos/2d/space_shooter/main_menu.scn Binary files differdeleted file mode 100644 index 91b0b37b14..0000000000 --- a/demos/2d/space_shooter/main_menu.scn +++ /dev/null diff --git a/demos/2d/space_shooter/main_menu.tscn b/demos/2d/space_shooter/main_menu.tscn new file mode 100644 index 0000000000..e51791611d --- /dev/null +++ b/demos/2d/space_shooter/main_menu.tscn @@ -0,0 +1,64 @@ +[gd_scene load_steps=2 format=1] + +[ext_resource path="res://main_menu.gd" type="Script" id=1] + +[node name="main_screen" type="Control"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +script/script = ExtResource( 1 ) + +[node name="title" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 405.0 +margin/top = 86.0 +margin/right = 547.0 +margin/bottom = 99.0 +text = "S P A C E S H O O T E R" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="score" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 349.0 +margin/top = 204.0 +margin/right = 585.0 +margin/bottom = 218.0 +text = "HIGH SCORE:" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="play" type="Button" parent="."] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 412.0 +margin/top = 390.0 +margin/right = 535.0 +margin/bottom = 442.0 +toggle_mode = false +text = "PLAY" +flat = false + +[connection signal="pressed" from="play" to="." method="_on_play_pressed"] + + diff --git a/demos/2d/space_shooter/parallax.scn b/demos/2d/space_shooter/parallax.scn Binary files differdeleted file mode 100644 index 2753d16e84..0000000000 --- a/demos/2d/space_shooter/parallax.scn +++ /dev/null diff --git a/demos/2d/space_shooter/parallax.tscn b/demos/2d/space_shooter/parallax.tscn new file mode 100644 index 0000000000..0cbd0f5b19 --- /dev/null +++ b/demos/2d/space_shooter/parallax.tscn @@ -0,0 +1,201 @@ +[gd_scene load_steps=4 format=1] + +[ext_resource path="res://bg_gradient.png" type="Texture" id=1] +[ext_resource path="res://small_star.png" type="Texture" id=2] +[ext_resource path="res://big_star.png" type="Texture" id=3] + +[node name="parallax" type="ParallaxBackground"] + +layer = -1 +offset = Vector2( 0, 0 ) +rotation = 0.0 +scale = Vector2( 1, 1 ) +scroll/offset = Vector2( 0, 0 ) +scroll/base_offset = Vector2( 0, 0 ) +scroll/base_scale = Vector2( 1, 1 ) +scroll/limit_begin = Vector2( 0, 0 ) +scroll/limit_end = Vector2( 0, 0 ) +scroll/ignore_camera_zoom = true + +[node name="bg_layer" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.2, 1 ) +motion/mirroring = Vector2( 1024, 0 ) + +[node name="gradient" type="Sprite" parent="bg_layer"] + +transform/scale = Vector2( 128, 1 ) +texture = ExtResource( 1 ) +centered = false + +[node name="Sprite" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 73.6643, 65.0701 ) +texture = ExtResource( 2 ) + +[node name="Sprite1" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 127.685, 206.26 ) +texture = ExtResource( 2 ) + +[node name="Sprite2" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 60.1591, 255.369 ) +texture = ExtResource( 2 ) + +[node name="Sprite3" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 252.914, 142.418 ) +texture = ExtResource( 2 ) + +[node name="Sprite4" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 241.864, 335.172 ) +texture = ExtResource( 2 ) + +[node name="Sprite5" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 127.685, 455.491 ) +texture = ExtResource( 2 ) + +[node name="Sprite6" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 289.746, 547.571 ) +texture = ExtResource( 2 ) + +[node name="Sprite7" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 56.4759, 559.848 ) +texture = ExtResource( 2 ) + +[node name="Sprite8" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 487.412, 166.972 ) +texture = ExtResource( 2 ) + +[node name="Sprite9" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 358.499, 77.3474 ) +texture = ExtResource( 2 ) + +[node name="Sprite10" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 647.018, 71.2088 ) +texture = ExtResource( 2 ) + +[node name="Sprite11" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 592.997, 270.102 ) +texture = ExtResource( 2 ) + +[node name="Sprite12" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 868.011, 252.914 ) +texture = ExtResource( 2 ) + +[node name="Sprite13" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 869.238, 93.308 ) +texture = ExtResource( 2 ) + +[node name="Sprite14" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 965.002, 95.7635 ) +texture = ExtResource( 2 ) + +[node name="Sprite15" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 968.685, 559.848 ) +texture = ExtResource( 2 ) + +[node name="Sprite16" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 815.218, 470.224 ) +texture = ExtResource( 2 ) + +[node name="Sprite17" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 475.134, 530.383 ) +texture = ExtResource( 2 ) + +[node name="Sprite18" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 550.026, 421.114 ) +texture = ExtResource( 2 ) + +[node name="Sprite19" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 696.127, 574.581 ) +texture = ExtResource( 2 ) + +[node name="Sprite20" type="Sprite" parent="bg_layer"] + +transform/pos = Vector2( 990.784, 423.569 ) +texture = ExtResource( 2 ) + +[node name="bg_layer2" type="ParallaxLayer" parent="."] + +motion/scale = Vector2( 0.5, 1 ) +motion/mirroring = Vector2( 1024, 0 ) + +[node name="Sprite" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 88, 114 ) +texture = ExtResource( 3 ) + +[node name="Sprite1" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 349, 254 ) +texture = ExtResource( 3 ) + +[node name="Sprite2" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 472, 80 ) +texture = ExtResource( 3 ) + +[node name="Sprite3" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 803, 107 ) +texture = ExtResource( 3 ) + +[node name="Sprite4" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 93, 363 ) +texture = ExtResource( 3 ) + +[node name="Sprite5" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 891, 519 ) +texture = ExtResource( 3 ) + +[node name="Sprite6" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 934, 338 ) +texture = ExtResource( 3 ) + +[node name="Sprite7" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 665, 332 ) +texture = ExtResource( 3 ) + +[node name="Sprite8" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 218, 423 ) +texture = ExtResource( 3 ) + +[node name="Sprite9" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 564, 568 ) +texture = ExtResource( 3 ) + +[node name="Sprite10" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 753, 466 ) +texture = ExtResource( 3 ) + +[node name="Sprite11" type="Sprite" parent="bg_layer2"] + +transform/pos = Vector2( 77.9999, 570 ) +texture = ExtResource( 3 ) + + diff --git a/demos/2d/space_shooter/ship.gd b/demos/2d/space_shooter/ship.gd index b6c1200632..0bc9ca6b13 100644 --- a/demos/2d/space_shooter/ship.gd +++ b/demos/2d/space_shooter/ship.gd @@ -37,7 +37,7 @@ func _process(delta): if (shooting and not prev_shooting): # Just pressed - var shot = preload("res://shot.scn").instance() + var shot = preload("res://shot.tscn").instance() # Use the Position2D as reference shot.set_pos(get_node("shootfrom").get_global_pos()) # Put it two parents above, so it is not moved by us @@ -78,4 +78,4 @@ func _on_ship_area_enter(area): func _on_back_to_menu_pressed(): - get_tree().change_scene("res://main_menu.scn") + get_tree().change_scene("res://main_menu.tscn") diff --git a/demos/2d/space_shooter/ship.scn b/demos/2d/space_shooter/ship.scn Binary files differdeleted file mode 100644 index c60e2e3e3b..0000000000 --- a/demos/2d/space_shooter/ship.scn +++ /dev/null diff --git a/demos/2d/space_shooter/ship.tscn b/demos/2d/space_shooter/ship.tscn new file mode 100644 index 0000000000..be6bf6b82e --- /dev/null +++ b/demos/2d/space_shooter/ship.tscn @@ -0,0 +1,229 @@ +[gd_scene load_steps=12 format=1] + +[ext_resource path="res://rail.gd" type="Script" id=1] +[ext_resource path="res://ship.gd" type="Script" id=2] +[ext_resource path="res://ship.png" type="Texture" id=3] +[ext_resource path="res://fire.png" type="Texture" id=4] +[ext_resource path="res://explosion.tscn" type="PackedScene" id=5] +[ext_resource path="res://sound_shoot.wav" type="Sample" id=6] +[ext_resource path="res://sound_explode.wav" type="Sample" id=7] + +[sub_resource type="ConvexPolygonShape2D" id=1] + +custom_solver_bias = 0.0 +points = Vector2Array( 25.9104, 1.3603, -20.5637, 14.8656, -20.5637, -15.3227 ) + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 0.474062, 0.653631, 1 ) +colors = ColorArray( 0.154794, 0.413313, 0.991004, 1, 0.555474, 0.971578, 0, 1, 0.82934, 0.989088, 0.616085, 0.383915, 1, 1, 1, 0 ) + +[sub_resource type="Animation" id=3] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("sprite:visibility/visible") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/1/type = "value" +tracks/1/path = NodePath("thruster:config/emitting") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } +tracks/2/type = "value" +tracks/2/path = NodePath("explosion:config/emitting") +tracks/2/interp = 1 +tracks/2/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } + +[sub_resource type="SampleLibrary" id=4] + +samples/shoot = { "db":0.0, "pitch":1.0, "sample":ExtResource( 6 ) } +samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 7 ) } + +[node name="rail" type="Node2D"] + +script/script = ExtResource( 1 ) + +[node name="ship" type="Area2D" parent="."] + +transform/pos = Vector2( 253.607, 282.275 ) +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 2 ) + +[node name="sprite" type="Sprite" parent="ship"] + +texture = ExtResource( 3 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ship"] + +build_mode = 0 +polygon = Vector2Array( -20.5637, -15.3227, 25.9104, 1.3603, -20.5637, 14.8656 ) +shape_range = Vector2( -1, -1 ) +trigger = false + +[node name="thruster" type="Particles2D" parent="ship"] + +visibility/blend_mode = 1 +transform/pos = Vector2( -26.528, -0.358481 ) +transform/rot = -91.1436 +config/amount = 32 +config/lifetime = 2.0 +config/time_scale = 5.0 +config/emitting = false +config/local_space = false +config/texture = ExtResource( 4 ) +params/direction = 0.0 +params/spread = 10.0 +params/linear_velocity = 20.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 1.0 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="ship"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/explode = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[node name="shootfrom" type="Position2D" parent="ship"] + +transform/pos = Vector2( 35.3307, 0.875969 ) + +[node name="explosion" parent="ship" instance=ExtResource( 5 )] + +transform/rot = -91.1436 +config/explosiveness = 0.1 +params/gravity_strength = 9.8 + +[node name="sfx" type="SamplePlayer" parent="ship"] + +config/polyphony = 1 +config/samples = SubResource( 4 ) +default/volume_db = 0.0 +default/pitch_scale = 1.0 +default/pan = 0.0 +default/depth = 0.0 +default/height = 0.0 +default/filter/type = 0 +default/filter/cutoff = 0.0 +default/filter/resonance = 0.0 +default/filter/gain = 0.0 +default/reverb_room = 2 +default/reverb_send = 0.0 +default/chorus_send = 0.0 + +[node name="camera" type="Camera2D" parent="."] + +anchor_mode = 0 +rotating = false +current = true +zoom = Vector2( 1, 1 ) +limit/left = -10000000 +limit/top = -10000000 +limit/right = 10000000 +limit/bottom = 10000000 +drag_margin/h_enabled = true +drag_margin/v_enabled = true +smoothing/enable = false +smoothing/speed = 5.0 +drag_margin/left = 0.2 +drag_margin/top = 0.2 +drag_margin/right = 0.2 +drag_margin/bottom = 0.2 + +[node name="hud" type="CanvasLayer" parent="."] + +layer = 1 +offset = Vector2( 0, 0 ) +rotation = 0.0 +scale = Vector2( 1, 1 ) + +[node name="score" type="Label" parent="hud"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 15.0 +margin/top = 13.0 +margin/right = 66.0 +margin/bottom = 26.0 +text = "SCORE:" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="score_points" type="Label" parent="hud"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 70.0 +margin/top = 13.0 +margin/right = 121.0 +margin/bottom = 26.0 +text = "0" +align = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="back_to_menu" type="Button" parent="hud"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 911.0 +margin/top = 10.0 +margin/right = 1006.0 +margin/bottom = 31.0 +toggle_mode = false +text = "Back to Menu" +flat = false + +[node name="game_over" type="Label" parent="hud"] + +visibility/visible = false +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 482.0 +margin/top = 286.0 +margin/right = 564.0 +margin/bottom = 299.0 +text = "GAME_OVER" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[connection signal="body_enter" from="ship" to="ship" method="_on_ship_body_enter"] + +[connection signal="area_enter" from="ship" to="ship" method="_on_ship_area_enter"] + +[connection signal="pressed" from="hud/back_to_menu" to="ship" method="_on_back_to_menu_pressed"] + + diff --git a/demos/2d/space_shooter/shot.scn b/demos/2d/space_shooter/shot.scn Binary files differdeleted file mode 100644 index 9daf4ebe82..0000000000 --- a/demos/2d/space_shooter/shot.scn +++ /dev/null diff --git a/demos/2d/space_shooter/shot.tscn b/demos/2d/space_shooter/shot.tscn new file mode 100644 index 0000000000..2913eaf5b7 --- /dev/null +++ b/demos/2d/space_shooter/shot.tscn @@ -0,0 +1,103 @@ +[gd_scene load_steps=6 format=1] + +[ext_resource path="res://shot.gd" type="Script" id=1] +[ext_resource path="res://shoot.png" type="Texture" id=2] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 10, 4 ) + +[sub_resource type="ColorRamp" id=2] + +offsets = FloatArray( 0, 1 ) +colors = ColorArray( 0.238085, 0.881885, 0.983902, 1, 1, 1, 1, 0 ) + +[sub_resource type="Animation" id=3] + +length = 1.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("hit_splash:config/emitting") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] } +tracks/1/type = "method" +tracks/1/path = NodePath(".") +tracks/1/interp = 1 +tracks/1/keys = { "times":FloatArray( 1 ), "transitions":FloatArray( 1 ), "values":[ { "args":[ ], "method":"queue_free" } ] } +tracks/2/type = "value" +tracks/2/path = NodePath("sprite:visibility/visible") +tracks/2/interp = 1 +tracks/2/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] } + +[node name="shot" type="Area2D"] + +input/pickable = true +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +script/script = ExtResource( 1 ) + +[node name="visibility" type="VisibilityNotifier2D" parent="."] + +transform/pos = Vector2( 1.8353, -0.0742126 ) +transform/scale = Vector2( 1.54149, 0.770745 ) +rect = Rect2( -10, -10, 20, 20 ) + +[node name="sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) + +[node name="collision" type="CollisionShape2D" parent="."] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + +[node name="hit_splash" type="Particles2D" parent="."] + +config/amount = 32 +config/lifetime = 0.5 +config/emitting = false +config/explosiveness = 0.1 +params/direction = 0.0 +params/spread = 180.0 +params/linear_velocity = 50.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 0.0 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 3.0 +params/final_size = 3.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 +color/color_ramp = SubResource( 2 ) + +[node name="anim" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/splash = SubResource( 3 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[connection signal="body_enter" from="." to="." method="_on_shot_body_enter"] + +[connection signal="area_enter" from="." to="." method="_on_shot_area_enter"] + +[connection signal="exit_screen" from="visibility" to="." method="_on_visibility_exit_screen"] + + diff --git a/demos/2d/space_shooter/tileset.tres b/demos/2d/space_shooter/tileset.tres new file mode 100644 index 0000000000..0a62a0048e --- /dev/null +++ b/demos/2d/space_shooter/tileset.tres @@ -0,0 +1,20 @@ +[gd_resource type="TileSet" load_steps=3 format=1] + +[ext_resource path="res://tile.png" type="Texture" id=1] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 16, 16 ) + +[resource] + +0/name = "block" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/region = Rect2( 0, 0, 0, 0 ) +0/occluder_offset = Vector2( 16, 16 ) +0/navigation_offset = Vector2( 16, 16 ) +0/shape_offset = Vector2( 16, 16 ) +0/shapes = [ SubResource( 1 ) ] + diff --git a/demos/2d/space_shooter/tileset_edit.tscn b/demos/2d/space_shooter/tileset_edit.tscn new file mode 100644 index 0000000000..87152a1818 --- /dev/null +++ b/demos/2d/space_shooter/tileset_edit.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://tile.png" type="Texture" id=1] + +[sub_resource type="RectangleShape2D" id=1] + +custom_solver_bias = 0.0 +extents = Vector2( 16, 16 ) + +[node name="Node2D" type="Node2D"] + +[node name="block" type="Sprite" parent="."] + +texture = ExtResource( 1 ) + +[node name="StaticBody2D" type="StaticBody2D" parent="block"] + +input/pickable = false +shapes/0/shape = SubResource( 1 ) +shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 ) +shapes/0/trigger = false +collision/layers = 1 +collision/mask = 1 +constant_linear_velocity = Vector2( 0, 0 ) +constant_angular_velocity = 0.0 +friction = 1.0 +bounce = 0.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="block/StaticBody2D"] + +shape = SubResource( 1 ) +trigger = false +_update_shape_index = -1 + + diff --git a/demos/2d/splash/engine.cfg b/demos/2d/splash/engine.cfg index e461426305..e970840eae 100644 --- a/demos/2d/splash/engine.cfg +++ b/demos/2d/splash/engine.cfg @@ -1,7 +1,7 @@ [application] name="Splash Screen" -main_scene="res://splash.xml" +main_scene="res://splash.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/splash/splash.tscn b/demos/2d/splash/splash.tscn new file mode 100644 index 0000000000..5523d4c3f0 --- /dev/null +++ b/demos/2d/splash/splash.tscn @@ -0,0 +1,274 @@ +[gd_scene load_steps=20 format=1] + +[ext_resource path="res://bg.png" type="Texture" id=1] +[ext_resource path="res://bg_layer_2.png" type="Texture" id=2] +[ext_resource path="res://bg_layer_1.png" type="Texture" id=3] +[ext_resource path="res://splash_01.png" type="Texture" id=4] +[ext_resource path="res://splash_02.png" type="Texture" id=5] +[ext_resource path="res://splash_03.png" type="Texture" id=6] +[ext_resource path="res://splash_04.png" type="Texture" id=7] +[ext_resource path="res://splash_05.png" type="Texture" id=8] +[ext_resource path="res://splash_06.png" type="Texture" id=9] +[ext_resource path="res://splash_07.png" type="Texture" id=10] +[ext_resource path="res://splash_08.png" type="Texture" id=11] +[ext_resource path="res://splash_09.png" type="Texture" id=12] +[ext_resource path="res://button.png" type="Texture" id=13] +[ext_resource path="res://button_pressed.png" type="Texture" id=14] +[ext_resource path="res://freesans.fnt" type="Font" id=15] + +[sub_resource type="Animation" id=1] + +resource/name = "scroll" +length = 1.0 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath(".:rect/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 0, 1 ), "transitions":FloatArray( 1, 1 ), "values":[ Vector2( 0, 0 ), Vector2( -800, 0 ) ] } + +[sub_resource type="SpriteFrames" id=2] + +frames = [ ExtResource( 4 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 9 ), ExtResource( 10 ), ExtResource( 11 ), ExtResource( 12 ) ] + +[sub_resource type="Animation" id=3] + +resource/name = "intro" +length = 3.0 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("logo:transform/pos") +tracks/0/interp = 1 +tracks/0/keys = { "cont":true, "times":FloatArray( 1, 1.5 ), "transitions":FloatArray( 2, 1 ), "values":[ Vector2( 412, -212.981 ), Vector2( 412, 171 ) ] } +tracks/1/type = "value" +tracks/1/path = NodePath("logo:frame") +tracks/1/interp = 1 +tracks/1/keys = { "cont":false, "times":FloatArray( 0, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3 ), "transitions":FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "values":[ 0, 0, 1, 2, 3, 4, 5, 6, 7, 8 ] } +tracks/2/type = "value" +tracks/2/path = NodePath("start:visibility/opacity") +tracks/2/interp = 1 +tracks/2/keys = { "cont":true, "times":FloatArray( 2.5, 2.8 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 1.0 ] } +tracks/3/type = "value" +tracks/3/path = NodePath("start:visibility/visible") +tracks/3/interp = 1 +tracks/3/keys = { "cont":false, "times":FloatArray( 0, 2.5 ), "transitions":FloatArray( 1, 1 ), "values":[ false, true ] } +tracks/4/type = "value" +tracks/4/path = NodePath("copyright:visibility/visible") +tracks/4/interp = 1 +tracks/4/keys = { "cont":false, "times":FloatArray( 0, 2.5 ), "transitions":FloatArray( 1, 1 ), "values":[ false, true ] } +tracks/5/type = "value" +tracks/5/path = NodePath("copyright:visibility/opacity") +tracks/5/interp = 1 +tracks/5/keys = { "cont":true, "times":FloatArray( 2.5, 2.8 ), "transitions":FloatArray( 1, 1 ), "values":[ 0.0, 1.0 ] } + +[sub_resource type="Animation" id=4] + +length = 0.6 +loop = true +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("logo:frame") +tracks/0/interp = 1 +tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.3 ), "transitions":FloatArray( 1, 1 ), "values":[ 8, 7 ] } + +[node name="splash" type="Control"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 + +[node name="bg" type="Control" parent="."] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 + +[node name="1" type="TextureFrame" parent="bg"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = ExtResource( 1 ) + +[node name="2" type="TextureFrame" parent="bg"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 800.0 +margin/top = 0.0 +margin/right = 1600.0 +margin/bottom = 450.0 +texture = ExtResource( 1 ) + +[node name="scroll" type="AnimationPlayer" parent="bg"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/scroll = SubResource( 1 ) +playback/active = true +playback/speed = 0.04 +blend_times = [ ] +autoplay = "scroll" + +[node name="layer2" type="Control" parent="."] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 + +[node name="1" type="TextureFrame" parent="layer2"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 194.0 +margin/right = 800.0 +margin/bottom = 456.0 +texture = ExtResource( 2 ) + +[node name="2" type="TextureFrame" parent="layer2"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 800.0 +margin/top = 194.0 +margin/right = 1600.0 +margin/bottom = 456.0 +texture = ExtResource( 2 ) + +[node name="scroll" type="AnimationPlayer" parent="layer2"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/scroll = SubResource( 1 ) +playback/active = true +playback/speed = 0.1 +blend_times = [ ] +autoplay = "scroll" + +[node name="layer1" type="Control" parent="."] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 + +[node name="1" type="TextureFrame" parent="layer1"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 212.0 +margin/right = 800.0 +margin/bottom = 456.0 +texture = ExtResource( 3 ) + +[node name="2" type="TextureFrame" parent="layer1"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 800.0 +margin/top = 212.0 +margin/right = 1600.0 +margin/bottom = 456.0 +texture = ExtResource( 3 ) + +[node name="scroll" type="AnimationPlayer" parent="layer1"] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/scroll = SubResource( 1 ) +playback/active = true +playback/speed = 0.2 +blend_times = [ ] +autoplay = "scroll" + +[node name="logo" type="AnimatedSprite" parent="."] + +transform/pos = Vector2( 412, 171 ) +frames = SubResource( 2 ) +frame = 8 + +[node name="start" type="TextureButton" parent="."] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 345.0 +margin/top = 369.0 +margin/right = 494.0 +margin/bottom = 443.0 +toggle_mode = false +textures/normal = ExtResource( 13 ) +textures/pressed = ExtResource( 14 ) + +[node name="copyright" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 658.0 +margin/top = 417.0 +margin/right = 776.0 +margin/bottom = 434.0 +custom_fonts/font = ExtResource( 15 ) +text = "(c) 1994 SOGA" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="intro" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/intro = SubResource( 3 ) +anims/loop = SubResource( 4 ) +next/intro = "loop" +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "intro" + + diff --git a/demos/2d/splash/splash.xml b/demos/2d/splash/splash.xml deleted file mode 100644 index 4a36619b09..0000000000 --- a/demos/2d/splash/splash.xml +++ /dev/null @@ -1,448 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="20" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://splash_02.png" type="Texture" index="4"></ext_resource> - <ext_resource path="res://splash_01.png" type="Texture" index="3"></ext_resource> - <ext_resource path="res://splash_05.png" type="Texture" index="7"></ext_resource> - <ext_resource path="res://splash_06.png" type="Texture" index="8"></ext_resource> - <ext_resource path="res://splash_03.png" type="Texture" index="5"></ext_resource> - <ext_resource path="res://splash_04.png" type="Texture" index="6"></ext_resource> - <ext_resource path="res://splash_07.png" type="Texture" index="9"></ext_resource> - <ext_resource path="res://splash_08.png" type="Texture" index="10"></ext_resource> - <ext_resource path="res://splash_09.png" type="Texture" index="11"></ext_resource> - <ext_resource path="res://bg.png" type="Texture" index="0"></ext_resource> - <ext_resource path="res://bg_layer_2.png" type="Texture" index="1"></ext_resource> - <ext_resource path="res://bg_layer_1.png" type="Texture" index="2"></ext_resource> - <ext_resource path="res://button_pressed.png" type="Texture" index="13"></ext_resource> - <ext_resource path="res://button.png" type="Texture" index="12"></ext_resource> - <ext_resource path="res://freesans.fnt" type="Font" index="14"></ext_resource> - <resource type="Animation" path="local://1"> - <string name="resource/name"> "scroll" </string> - <real name="length"> 1 </real> - <bool name="loop"> True </bool> - <real name="step"> 0.1 </real> - <string name="tracks/0/type"> "value" </string> - <node_path name="tracks/0/path"> ".:rect/pos" </node_path> - <int name="tracks/0/interp"> 1 </int> - <dictionary name="tracks/0/keys" shared="false"> - <string> "cont" </string> - <bool> True </bool> - <string> "times" </string> - <real_array len="2"> 0, 1 </real_array> - <string> "transitions" </string> - <real_array len="2"> 1, 1 </real_array> - <string> "values" </string> - <array len="2" shared="false"> - <vector2> 0, 0 </vector2> - <vector2> -800, 0 </vector2> - </array> - </dictionary> - - </resource> - <resource type="SpriteFrames" path="local://2"> - <array name="frames" len="9" shared="false"> - <resource external="3"> </resource> - <resource external="4"> </resource> - <resource external="5"> </resource> - <resource external="6"> </resource> - <resource external="7"> </resource> - <resource external="8"> </resource> - <resource external="9"> </resource> - <resource external="10"> </resource> - <resource external="11"> </resource> - </array> - - </resource> - <resource type="Animation" path="local://4"> - <string name="resource/name"> "intro" </string> - <real name="length"> 3 </real> - <bool name="loop"> False </bool> - <real name="step"> 0.1 </real> - <string name="tracks/0/type"> "value" </string> - <node_path name="tracks/0/path"> "logo:transform/pos" </node_path> - <int name="tracks/0/interp"> 1 </int> - <dictionary name="tracks/0/keys" shared="false"> - <string> "cont" </string> - <bool> True </bool> - <string> "times" </string> - <real_array len="2"> 1, 1.5 </real_array> - <string> "transitions" </string> - <real_array len="2"> 2, 1 </real_array> - <string> "values" </string> - <array len="2" shared="false"> - <vector2> 412, -212.981 </vector2> - <vector2> 412, 171 </vector2> - </array> - </dictionary> - <string name="tracks/1/type"> "value" </string> - <node_path name="tracks/1/path"> "logo:frame" </node_path> - <int name="tracks/1/interp"> 1 </int> - <dictionary name="tracks/1/keys" shared="false"> - <string> "cont" </string> - <bool> False </bool> - <string> "times" </string> - <real_array len="10"> 0, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3 </real_array> - <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> 0 </int> - <int> 0 </int> - <int> 1 </int> - <int> 2 </int> - <int> 3 </int> - <int> 4 </int> - <int> 5 </int> - <int> 6 </int> - <int> 7 </int> - <int> 8 </int> - </array> - </dictionary> - <string name="tracks/2/type"> "value" </string> - <node_path name="tracks/2/path"> "start:visibility/opacity" </node_path> - <int name="tracks/2/interp"> 1 </int> - <dictionary name="tracks/2/keys" shared="false"> - <string> "cont" </string> - <bool> True </bool> - <string> "times" </string> - <real_array len="2"> 2.5, 2.8 </real_array> - <string> "transitions" </string> - <real_array len="2"> 1, 1 </real_array> - <string> "values" </string> - <array len="2" shared="false"> - <real> 0 </real> - <real> 1 </real> - </array> - </dictionary> - <string name="tracks/3/type"> "value" </string> - <node_path name="tracks/3/path"> "start:visibility/visible" </node_path> - <int name="tracks/3/interp"> 1 </int> - <dictionary name="tracks/3/keys" shared="false"> - <string> "cont" </string> - <bool> False </bool> - <string> "times" </string> - <real_array len="2"> 0, 2.5 </real_array> - <string> "transitions" </string> - <real_array len="2"> 1, 1 </real_array> - <string> "values" </string> - <array len="2" shared="false"> - <bool> False </bool> - <bool> True </bool> - </array> - </dictionary> - <string name="tracks/4/type"> "value" </string> - <node_path name="tracks/4/path"> "copyright:visibility/visible" </node_path> - <int name="tracks/4/interp"> 1 </int> - <dictionary name="tracks/4/keys" shared="false"> - <string> "cont" </string> - <bool> False </bool> - <string> "times" </string> - <real_array len="2"> 0, 2.5 </real_array> - <string> "transitions" </string> - <real_array len="2"> 1, 1 </real_array> - <string> "values" </string> - <array len="2" shared="false"> - <bool> False </bool> - <bool> True </bool> - </array> - </dictionary> - <string name="tracks/5/type"> "value" </string> - <node_path name="tracks/5/path"> "copyright:visibility/opacity" </node_path> - <int name="tracks/5/interp"> 1 </int> - <dictionary name="tracks/5/keys" shared="false"> - <string> "cont" </string> - <bool> True </bool> - <string> "times" </string> - <real_array len="2"> 2.5, 2.8 </real_array> - <string> "transitions" </string> - <real_array len="2"> 1, 1 </real_array> - <string> "values" </string> - <array len="2" shared="false"> - <real> 0 </real> - <real> 1 </real> - </array> - </dictionary> - - </resource> - <resource type="Animation" path="local://3"> - <string name="resource/name"> "loop" </string> - <real name="length"> 0.6 </real> - <bool name="loop"> True </bool> - <real name="step"> 0.1 </real> - <string name="tracks/0/type"> "value" </string> - <node_path name="tracks/0/path"> "logo:frame" </node_path> - <int name="tracks/0/interp"> 1 </int> - <dictionary name="tracks/0/keys" shared="false"> - <string> "cont" </string> - <bool> False </bool> - <string> "times" </string> - <real_array len="2"> 0, 0.3 </real_array> - <string> "transitions" </string> - <real_array len="2"> 1, 1 </real_array> - <string> "values" </string> - <array len="2" shared="false"> - <int> 8 </int> - <int> 7 </int> - </array> - </dictionary> - - </resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 0 </int> - <string> "conns" </string> - <int_array len="0"> </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="51"> - <string> "splash" </string> - <string> "anchor/right" </string> - <string> "anchor/bottom" </string> - <string> "focus/ignore_mouse" </string> - <string> "focus/stop_mouse" </string> - <string> "size_flags/horizontal" </string> - <string> "size_flags/vertical" </string> - <string> "__meta__" </string> - <string> "Control" </string> - <string> "bg" </string> - <string> "margin/right" </string> - <string> "margin/bottom" </string> - <string> "1" </string> - <string> "texture" </string> - <string> "TextureFrame" </string> - <string> "2" </string> - <string> "margin/left" </string> - <string> "scroll" </string> - <string> "playback/process_mode" </string> - <string> "playback/default_blend_time" </string> - <string> "root/root" </string> - <string> "anims/scroll" </string> - <string> "playback/active" </string> - <string> "playback/speed" </string> - <string> "blend_times" </string> - <string> "autoplay" </string> - <string> "AnimationPlayer" </string> - <string> "layer2" </string> - <string> "margin/top" </string> - <string> "layer1" </string> - <string> "logo" </string> - <string> "transform/pos" </string> - <string> "frames" </string> - <string> "frame" </string> - <string> "AnimatedSprite" </string> - <string> "start" </string> - <string> "toggle_mode" </string> - <string> "textures/normal" </string> - <string> "textures/pressed" </string> - <string> "TextureButton" </string> - <string> "copyright" </string> - <string> "custom_fonts/font" </string> - <string> "text" </string> - <string> "percent_visible" </string> - <string> "lines_skipped" </string> - <string> "max_lines_visible" </string> - <string> "Label" </string> - <string> "intro" </string> - <string> "anims/intro" </string> - <string> "next/intro" </string> - <string> "anims/loop" </string> - </string_array> - <string> "node_count" </string> - <int> 17 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="387"> -1, -1, 8, 0, -1, 7, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 0, 0, 0, 8, 9, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 1, 0, 14, 12, -1, 7, 10, 5, 11, 5, 3, 2, 4, 2, 5, 3, 6, 3, 13, 6, 0, 1, 0, 14, 15, -1, 8, 16, 7, 10, 8, 11, 9, 3, 2, 4, 2, 5, 3, 6, 3, 13, 6, 0, 1, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 13, 24, 14, 25, 15, 0, 0, 0, 8, 27, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 5, 0, 14, 12, -1, 8, 28, 16, 10, 7, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 18, 0, 5, 0, 14, 15, -1, 9, 16, 7, 28, 16, 10, 8, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 18, 0, 5, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 19, 24, 14, 25, 15, 0, 0, 0, 8, 29, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 9, 0, 14, 12, -1, 8, 28, 20, 10, 7, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 21, 0, 9, 0, 14, 15, -1, 9, 16, 7, 28, 20, 10, 8, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 21, 0, 9, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 22, 24, 14, 25, 15, 0, 0, 0, 34, 30, -1, 3, 31, 23, 32, 24, 33, 25, 0, 0, 0, 39, 35, -1, 11, 16, 26, 28, 27, 10, 28, 11, 29, 3, 1, 4, 2, 5, 3, 6, 3, 36, 1, 37, 30, 38, 31, 0, 0, 0, 46, 40, -1, 12, 16, 32, 28, 33, 10, 34, 11, 35, 3, 2, 4, 2, 5, 3, 41, 36, 42, 37, 43, 38, 44, 39, 45, 40, 0, 0, 0, 26, 47, -1, 10, 18, 0, 19, 10, 20, 11, 48, 41, 49, 42, 50, 43, 22, 2, 23, 38, 24, 14, 25, 44, 0 </int_array> - <string> "variants" </string> - <array len="45" shared="false"> - <int> 1 </int> - <bool> False </bool> - <bool> True </bool> - <int> 2 </int> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -301.424, -450.503 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 0.54036 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <real> 40 </real> - <resource external="0"> </resource> - <real> 800 </real> - <real> 1600 </real> - <real> 450 </real> - <real> 0 </real> - <node_path> ".." </node_path> - <resource resource_type="Animation" path="local://1"> </resource> - <real> 0.04 </real> - <array len="0" shared="false"> - </array> - <string> "scroll" </string> - <real> 194 </real> - <real> 456 </real> - <resource external="1"> </resource> - <real> 0.1 </real> - <real> 212 </real> - <resource external="2"> </resource> - <real> 0.2 </real> - <vector2> 412, 171 </vector2> - <resource resource_type="SpriteFrames" path="local://2"> </resource> - <int> 8 </int> - <real> 345 </real> - <real> 369 </real> - <real> 494 </real> - <real> 443 </real> - <resource external="12"> </resource> - <resource external="13"> </resource> - <real> 658 </real> - <real> 417 </real> - <real> 776 </real> - <real> 434 </real> - <resource external="14"> </resource> - <string> "(c) 1994 SOGA" </string> - <real> 1 </real> - <int> 0 </int> - <int> -1 </int> - <resource resource_type="Animation" path="local://4"> </resource> - <string> "loop" </string> - <resource resource_type="Animation" path="local://3"> </resource> - <string> "intro" </string> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/sprite_shaders/engine.cfg b/demos/2d/sprite_shaders/engine.cfg index 17bdada188..fa17a2e800 100644 --- a/demos/2d/sprite_shaders/engine.cfg +++ b/demos/2d/sprite_shaders/engine.cfg @@ -1,5 +1,5 @@ [application] name="2D Shaders for Sprites" -main_scene="res://sprite_shaders.scn" +main_scene="res://sprite_shaders.tscn" icon="res://icon.png" diff --git a/demos/2d/sprite_shaders/sprite_shaders.scn b/demos/2d/sprite_shaders/sprite_shaders.scn Binary files differdeleted file mode 100644 index b6060f8eaa..0000000000 --- a/demos/2d/sprite_shaders/sprite_shaders.scn +++ /dev/null diff --git a/demos/2d/sprite_shaders/sprite_shaders.tscn b/demos/2d/sprite_shaders/sprite_shaders.tscn new file mode 100644 index 0000000000..feb6003890 --- /dev/null +++ b/demos/2d/sprite_shaders/sprite_shaders.tscn @@ -0,0 +1,163 @@ +[gd_scene load_steps=20 format=1] + +[ext_resource path="res://cubio.png" type="Texture" id=1] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"uniform float outline_width=2.0;\nuniform color outline_color=vec4(0,0,0,1);\n\nvec4 col = tex(TEXTURE,UV);\nvec2 ps = TEXTURE_PIXEL_SIZE;\nfloat a;\nfloat maxa=col.a;\nfloat mina=col.a;\na=tex(TEXTURE,UV+vec2(0,-outline_width)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(0,outline_width)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(-outline_width,0)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(outline_width,0)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\n\nCOLOR=mix(col,outline_color,maxa-mina);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=2] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 +shader_param/outline_width = 2.0 +shader_param/outline_color = Color( 0, 0, 0, 1 ) + +[sub_resource type="CanvasItemShader" id=3] + +_code = { "fragment":"//this shader only works properly with premultiplied alpha blend mode\nuniform float aura_width=2.0;\nuniform color aura_color=vec4(0.4,0.7,0.3,1);\n\nvec4 col = tex(TEXTURE,UV);\nvec2 ps = TEXTURE_PIXEL_SIZE;\nfloat a;\nfloat maxa=col.a;\nfloat mina=col.a;\na=tex(TEXTURE,UV+vec2(0,-aura_width)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(0,aura_width)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(-aura_width,0)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\na=tex(TEXTURE,UV+vec2(aura_width,0)*ps).a;\nmaxa=max(a,maxa); \nmina=min(a,mina);\ncol.rgb*=col.a;\nCOLOR=col;//mix(col,aura_color,maxa-mina);\nfloat auraa=(maxa-mina);\n\nCOLOR.rgb+=aura_color.rgb*(maxa-mina);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=4] + +shader/shader = SubResource( 3 ) +shader/shading_mode = 0 +shader_param/aura_width = 2.0 +shader_param/aura_color = Color( 0.4, 0.7, 0.3, 1 ) + +[sub_resource type="CanvasItemShader" id=5] + +_code = { "fragment":"uniform float radius=2.0;\n\nvec4 col = tex(TEXTURE,UV);\nvec2 ps = TEXTURE_PIXEL_SIZE;\ncol+=tex(TEXTURE,UV+vec2(0,-radius)*ps);\ncol+=tex(TEXTURE,UV+vec2(0,radius)*ps);\ncol+=tex(TEXTURE,UV+vec2(-radius,0)*ps);\ncol+=tex(TEXTURE,UV+vec2(radius,0)*ps);\ncol/=5.0;\nCOLOR=col;", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=6] + +shader/shader = SubResource( 5 ) +shader/shading_mode = 0 +shader_param/radius = 4.0 + +[sub_resource type="CanvasItemShader" id=7] + +_code = { "fragment":"uniform float fattyness=2.0;\n\nvec2 ruv=(UV-vec2(0.5,0.5));\nfloat len = length(ruv);\nvec2 dir = normalize(ruv);\nlen=pow(len*2.0,fattyness)*0.5;\nruv=len*dir;\nvec4 col = tex(TEXTURE,ruv+vec2(0.5,0.5));\nCOLOR=col;", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=8] + +shader/shader = SubResource( 7 ) +shader/shading_mode = 0 +shader_param/fattyness = 2.0 + +[sub_resource type="CanvasItemShader" id=9] + +_code = { "fragment":"\nuniform float radius=5.0;\nuniform color modulate=color(0,0,0,0.7);\n\nvec2 ps = TEXTURE_PIXEL_SIZE;\n\nvec4 shadow = tex(TEXTURE,UV+vec2(-radius,-radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(-radius,0)*ps);\nshadow += tex(TEXTURE,UV+vec2(-radius,radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(0,-radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(0,radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(radius,-radius)*ps);\nshadow += tex(TEXTURE,UV+vec2(radius,0)*ps);\nshadow += tex(TEXTURE,UV+vec2(radius,radius)*ps);\nshadow/=8;\nshadow*=modulate;\n\nvec4 col = tex(TEXTURE,UV);\nCOLOR=mix(shadow,col,col.a);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=10] + +shader/shader = SubResource( 9 ) +shader/shading_mode = 0 +shader_param/radius = 5.0 +shader_param/modulate = Color( 0, 0, 0, 0.7 ) + +[sub_resource type="CanvasItemShader" id=11] + +_code = { "fragment":"\nuniform vec2 offset=vec2(8,8);\nuniform color modulate=color(0.5,0,0.1,0.5);\n\nvec2 ps = TEXTURE_PIXEL_SIZE;\n\nvec4 shadow = vec4(modulate.rgb,tex(TEXTURE,UV-offset*ps).a*modulate.a);\nvec4 col = tex(TEXTURE,UV);\n\nCOLOR=mix(shadow,col,col.a);", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=12] + +shader/shader = SubResource( 11 ) +shader/shading_mode = 0 +shader_param/offset = Vector2( 8, 8 ) +shader_param/modulate = Color( 0.5, 0, 0.1, 0.5 ) + +[sub_resource type="CanvasItemShader" id=13] + +_code = { "fragment":"\nuniform color modulate=color(0.2,0.4,1.0,0.8);\nCOLOR = vec4(modulate.rgb,tex(TEXTURE,UV).a*modulate.a);\n\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=14] + +shader/shader = SubResource( 13 ) +shader/shading_mode = 0 +shader_param/modulate = Color( 0.013125, 0.194829, 0.406815, 0.818237 ) + +[sub_resource type="CanvasItemShader" id=15] + +_code = { "fragment":"\nuniform float radius=2.0;\nuniform float amount=0.6;\nfloat r = radius;\nvec2 ps = TEXTURE_PIXEL_SIZE;\n\nvec4 col = tex(TEXTURE,UV);\n\nvec4 glow = col;\nglow += tex(TEXTURE,UV+vec2(-r,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(-r,0)*ps);\nglow += tex(TEXTURE,UV+vec2(-r,r)*ps);\nglow += tex(TEXTURE,UV+vec2(0,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(0,r)*ps);\nglow += tex(TEXTURE,UV+vec2(r,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(r,0)*ps);\nglow += tex(TEXTURE,UV+vec2(r,r)*ps);\nr*=2.0;\nglow += tex(TEXTURE,UV+vec2(-r,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(-r,0)*ps);\nglow += tex(TEXTURE,UV+vec2(-r,r)*ps);\nglow += tex(TEXTURE,UV+vec2(0,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(0,r)*ps);\nglow += tex(TEXTURE,UV+vec2(r,-r)*ps);\nglow += tex(TEXTURE,UV+vec2(r,0)*ps);\nglow += tex(TEXTURE,UV+vec2(r,r)*ps);\n\nglow/=17.0;\nglow*=amount;\ncol.rgb*=col.a;\nCOLOR=glow+col;", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=16] + +shader/shader = SubResource( 15 ) +shader/shading_mode = 0 +shader_param/radius = 2.0 +shader_param/amount = 0.5 + +[sub_resource type="CanvasItemShader" id=17] + +_code = { "fragment":"\nuniform float amount = 20;\nvec2 uv = UV*0.05;\nfloat a = fract(sin(dot(UV ,vec2(12.9898,78.233))) * 438.5453);\nvec4 col = tex(TEXTURE,UV);\ncol.a*=pow(a,amount);\nCOLOR = col;\n\n\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=18] + +shader/shader = SubResource( 17 ) +shader/shading_mode = 0 +shader_param/amount = 2.0 + +[node name="shaders" type="Node2D"] + +[node name="normal" type="Sprite" parent="."] + +transform/pos = Vector2( 95.4559, 131.272 ) +texture = ExtResource( 1 ) + +[node name="outline" type="Sprite" parent="."] + +material/material = SubResource( 2 ) +transform/pos = Vector2( 246.456, 128.272 ) +texture = ExtResource( 1 ) + +[node name="aura" type="Sprite" parent="."] + +visibility/blend_mode = 4 +material/material = SubResource( 4 ) +transform/pos = Vector2( 398.185, 130.624 ) +texture = ExtResource( 1 ) + +[node name="blur" type="Sprite" parent="."] + +material/material = SubResource( 6 ) +transform/pos = Vector2( 548.503, 123.04 ) +texture = ExtResource( 1 ) + +[node name="fatty" type="Sprite" parent="."] + +material/material = SubResource( 8 ) +transform/pos = Vector2( 696.518, 125.393 ) +texture = ExtResource( 1 ) + +[node name="dropshadow" type="Sprite" parent="."] + +material/material = SubResource( 10 ) +transform/pos = Vector2( 97.4079, 389.709 ) +texture = ExtResource( 1 ) + +[node name="offsetshadow" type="Sprite" parent="."] + +material/material = SubResource( 12 ) +transform/pos = Vector2( 254.821, 384.238 ) +texture = ExtResource( 1 ) + +[node name="silouette" type="Sprite" parent="."] + +material/material = SubResource( 14 ) +transform/pos = Vector2( 418.854, 387.184 ) +texture = ExtResource( 1 ) + +[node name="glow" type="Sprite" parent="."] + +visibility/blend_mode = 4 +material/material = SubResource( 16 ) +transform/pos = Vector2( 563.75, 385.42 ) +texture = ExtResource( 1 ) + +[node name="dissintegrate" type="Sprite" parent="."] + +material/material = SubResource( 18 ) +transform/pos = Vector2( 708.613, 385.444 ) +texture = ExtResource( 1 ) + + diff --git a/demos/2d/tetris/engine.cfg b/demos/2d/tetris/engine.cfg index b80a736c39..db20f0b888 100644 --- a/demos/2d/tetris/engine.cfg +++ b/demos/2d/tetris/engine.cfg @@ -1,7 +1,7 @@ [application] name="Tetris" -main_scene="res://tetris.xml" +main_scene="res://tetris.tscn" icon="res://tetris.png" [display] diff --git a/demos/2d/tetris/grid.tscn b/demos/2d/tetris/grid.tscn new file mode 100644 index 0000000000..9df85e3817 --- /dev/null +++ b/demos/2d/tetris/grid.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=2 format=1] + +[ext_resource path="res://grid.gd" type="Script" id=1] + +[node name="Grid" type="Control"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +script/script = ExtResource( 1 ) + +[node name="timer" type="Timer" parent="."] + +process_mode = 1 +wait_time = 1.0 +one_shot = false +autostart = false + +[node name="gameover" type="Label" parent="."] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +custom_colors/font_color = Color( 1, 1, 1, 1 ) +custom_colors/font_color_shadow = Color( 0, 0, 0, 1 ) +custom_constants/shadow_offset_x = 1 +custom_constants/shadow_offset_y = 1 +align = 1 +valign = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[connection signal="timeout" from="timer" to="." method="piece_move_down"] + + diff --git a/demos/2d/tetris/grid.xml b/demos/2d/tetris/grid.xml deleted file mode 100644 index 49ad4ccc41..0000000000 --- a/demos/2d/tetris/grid.xml +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="2" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://grid.gd" type="Script" index="0"></ext_resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 1 </int> - <string> "conns" </string> - <int_array len="6"> 1, 0, 30, 29, 2, 0 </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="31"> - <string> "Grid" </string> - <string> "margin/right" </string> - <string> "margin/bottom" </string> - <string> "focus/ignore_mouse" </string> - <string> "focus/stop_mouse" </string> - <string> "size_flags/horizontal" </string> - <string> "size_flags/vertical" </string> - <string> "script/script" </string> - <string> "__meta__" </string> - <string> "Control" </string> - <string> "timer" </string> - <string> "process_mode" </string> - <string> "wait_time" </string> - <string> "one_shot" </string> - <string> "autostart" </string> - <string> "Timer" </string> - <string> "gameover" </string> - <string> "anchor/right" </string> - <string> "anchor/bottom" </string> - <string> "custom_colors/font_color" </string> - <string> "custom_colors/font_color_shadow" </string> - <string> "custom_constants/shadow_offset_x" </string> - <string> "custom_constants/shadow_offset_y" </string> - <string> "align" </string> - <string> "valign" </string> - <string> "percent_visible" </string> - <string> "lines_skipped" </string> - <string> "max_lines_visible" </string> - <string> "Label" </string> - <string> "piece_move_down" </string> - <string> "timeout" </string> - </string_array> - <string> "node_count" </string> - <int> 3 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="73"> -1, -1, 9, 0, -1, 8, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 8, 5, 0, 0, 0, 15, 10, -1, 4, 11, 6, 12, 7, 13, 1, 14, 1, 0, 0, 0, 28, 16, -1, 14, 17, 6, 18, 6, 3, 2, 4, 2, 5, 3, 19, 8, 20, 9, 21, 6, 22, 6, 23, 6, 24, 6, 25, 7, 26, 10, 27, 11, 0 </int_array> - <string> "variants" </string> - <array len="12" shared="false"> - <real> 40 </real> - <bool> False </bool> - <bool> True </bool> - <int> 2 </int> - <resource external="0"> </resource> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -229.129, -80 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <int> 1 </int> - <real> 1 </real> - <color> 1, 1, 1, 1 </color> - <color> 0, 0, 0, 1 </color> - <int> 0 </int> - <int> -1 </int> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/tetris/tetris.tscn b/demos/2d/tetris/tetris.tscn new file mode 100644 index 0000000000..de81044c22 --- /dev/null +++ b/demos/2d/tetris/tetris.tscn @@ -0,0 +1,67 @@ +[gd_scene load_steps=2 format=1] + +[ext_resource path="res://grid.tscn" type="PackedScene" id=1] + +[node name="Tetris" type="Panel"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 400.0 +margin/bottom = 400.0 + +[node name="Grid" parent="." instance=ExtResource( 1 )] + +margin/left = 40.0 +margin/top = 35.0 +margin/right = 80.0 +margin/bottom = 75.0 + +[node name="Label" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 243.0 +margin/top = 36.0 +margin/right = 283.0 +margin/bottom = 49.0 +text = "Score:" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="score" type="Label" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +margin/left = 252.0 +margin/top = 55.0 +margin/right = 293.0 +margin/bottom = 68.0 +text = "0" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="restart" type="Button" parent="."] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 243.0 +margin/top = 292.0 +margin/right = 303.0 +margin/bottom = 311.0 +toggle_mode = false +text = "Restart" +flat = false + +[connection signal="pressed" from="restart" to="Grid" method="restart_pressed"] + + diff --git a/demos/2d/tetris/tetris.xml b/demos/2d/tetris/tetris.xml deleted file mode 100644 index a8e47a8ae4..0000000000 --- a/demos/2d/tetris/tetris.xml +++ /dev/null @@ -1,217 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<resource_file type="PackedScene" subresource_count="2" version="2.0" version_name="Godot Engine v2.0.alpha.custom_build"> - <ext_resource path="res://grid.xml" type="PackedScene" index="0"></ext_resource> - <main_resource> - <dictionary name="_bundled" shared="false"> - <string> "conn_count" </string> - <int> 1 </int> - <string> "conns" </string> - <int_array len="6"> 4, 1, 23, 22, 2, 0 </int_array> - <string> "editable_instances" </string> - <array len="0" shared="false"> - </array> - <string> "names" </string> - <string_array len="24"> - <string> "Tetris" </string> - <string> "margin/right" </string> - <string> "margin/bottom" </string> - <string> "focus/ignore_mouse" </string> - <string> "focus/stop_mouse" </string> - <string> "size_flags/horizontal" </string> - <string> "size_flags/vertical" </string> - <string> "__meta__" </string> - <string> "Panel" </string> - <string> "Grid" </string> - <string> "margin/left" </string> - <string> "margin/top" </string> - <string> "Label" </string> - <string> "text" </string> - <string> "percent_visible" </string> - <string> "lines_skipped" </string> - <string> "max_lines_visible" </string> - <string> "score" </string> - <string> "restart" </string> - <string> "toggle_mode" </string> - <string> "flat" </string> - <string> "Button" </string> - <string> "restart_pressed" </string> - <string> "pressed" </string> - </string_array> - <string> "node_count" </string> - <int> 5 </int> - <string> "node_paths" </string> - <array len="0" shared="false"> - </array> - <string> "nodes" </string> - <int_array len="123"> -1, -1, 8, 0, -1, 7, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 0, 0, 0, 2147483647, 9, 5, 4, 10, 6, 11, 7, 1, 8, 2, 9, 0, 0, 0, 12, 12, -1, 11, 10, 10, 11, 11, 1, 12, 2, 13, 3, 2, 4, 2, 5, 3, 13, 14, 14, 15, 15, 16, 16, 17, 0, 0, 0, 12, 17, -1, 11, 10, 18, 11, 19, 1, 20, 2, 21, 3, 2, 4, 2, 5, 3, 13, 22, 14, 15, 15, 16, 16, 17, 0, 0, 0, 21, 18, -1, 11, 10, 10, 11, 23, 1, 24, 2, 25, 3, 1, 4, 2, 5, 3, 6, 3, 19, 1, 13, 26, 20, 1, 0 </int_array> - <string> "variants" </string> - <array len="27" shared="false"> - <real> 400 </real> - <bool> False </bool> - <bool> True </bool> - <int> 2 </int> - <dictionary shared="false"> - <string> "__editor_plugin_screen__" </string> - <string> "2D" </string> - <string> "__editor_plugin_states__" </string> - <dictionary shared="false"> - <string> "2D" </string> - <dictionary shared="false"> - <string> "ofs" </string> - <vector2> -229.129, -54.344 </vector2> - <string> "snap_grid" </string> - <bool> False </bool> - <string> "snap_offset" </string> - <vector2> 0, 0 </vector2> - <string> "snap_pixel" </string> - <bool> False </bool> - <string> "snap_relative" </string> - <bool> False </bool> - <string> "snap_rotation" </string> - <bool> False </bool> - <string> "snap_rotation_offset" </string> - <real> 0 </real> - <string> "snap_rotation_step" </string> - <real> 0.261799 </real> - <string> "snap_show_grid" </string> - <bool> False </bool> - <string> "snap_step" </string> - <vector2> 10, 10 </vector2> - <string> "zoom" </string> - <real> 1.360374 </real> - </dictionary> - <string> "3D" </string> - <dictionary shared="false"> - <string> "ambient_light_color" </string> - <color> 0.15, 0.15, 0.15, 1 </color> - <string> "default_light" </string> - <bool> True </bool> - <string> "default_srgb" </string> - <bool> False </bool> - <string> "deflight_rot_x" </string> - <real> 0.942478 </real> - <string> "deflight_rot_y" </string> - <real> 0.628319 </real> - <string> "fov" </string> - <real> 45 </real> - <string> "show_grid" </string> - <bool> True </bool> - <string> "show_origin" </string> - <bool> True </bool> - <string> "viewport_mode" </string> - <int> 1 </int> - <string> "viewports" </string> - <array len="4" shared="false"> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> True </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - <dictionary shared="false"> - <string> "distance" </string> - <real> 4 </real> - <string> "listener" </string> - <bool> False </bool> - <string> "pos" </string> - <vector3> 0, 0, 0 </vector3> - <string> "use_environment" </string> - <bool> False </bool> - <string> "use_orthogonal" </string> - <bool> False </bool> - <string> "x_rot" </string> - <real> 0 </real> - <string> "y_rot" </string> - <real> 0 </real> - </dictionary> - </array> - <string> "zfar" </string> - <real> 500 </real> - <string> "znear" </string> - <real> 0.1 </real> - </dictionary> - <string> "Anim" </string> - <dictionary shared="false"> - <string> "visible" </string> - <bool> False </bool> - </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> - </dictionary> - <resource external="0"> </resource> - <real> 40 </real> - <real> 35 </real> - <real> 80 </real> - <real> 75 </real> - <real> 243 </real> - <real> 36 </real> - <real> 283 </real> - <real> 49 </real> - <string> "Score:" </string> - <real> 1 </real> - <int> 0 </int> - <int> -1 </int> - <real> 252 </real> - <real> 55 </real> - <real> 293 </real> - <real> 68 </real> - <string> "0" </string> - <real> 292 </real> - <real> 303 </real> - <real> 311 </real> - <string> "Restart" </string> - </array> - <string> "version" </string> - <int> 2 </int> - </dictionary> - - </main_resource> -</resource_file>
\ No newline at end of file diff --git a/demos/2d/texscreen/bubbles.gd b/demos/2d/texscreen/bubbles.gd index 400da1a205..c0c7d892e6 100644 --- a/demos/2d/texscreen/bubbles.gd +++ b/demos/2d/texscreen/bubbles.gd @@ -7,5 +7,5 @@ const MAX_BUBBLES = 10 func _ready(): for i in range(MAX_BUBBLES): - var bubble = preload("res://lens.scn").instance() + var bubble = preload("res://lens.tscn").instance() add_child(bubble) diff --git a/demos/2d/texscreen/bubbles.scn b/demos/2d/texscreen/bubbles.scn Binary files differdeleted file mode 100644 index 8509b3811c..0000000000 --- a/demos/2d/texscreen/bubbles.scn +++ /dev/null diff --git a/demos/2d/texscreen/bubbles.tscn b/demos/2d/texscreen/bubbles.tscn new file mode 100644 index 0000000000..72b7874b92 --- /dev/null +++ b/demos/2d/texscreen/bubbles.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://bubbles.gd" type="Script" id=1] +[ext_resource path="res://burano.png" type="Texture" id=2] + +[node name="texscreen_demo" type="Control"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +script/script = ExtResource( 1 ) + +[node name="burano" type="TextureFrame" parent="."] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 800.0 +margin/bottom = 600.0 +texture = ExtResource( 2 ) + + diff --git a/demos/2d/texscreen/engine.cfg b/demos/2d/texscreen/engine.cfg index 92d0e98d5b..0a3f084270 100644 --- a/demos/2d/texscreen/engine.cfg +++ b/demos/2d/texscreen/engine.cfg @@ -1,7 +1,7 @@ [application] name="Glass Bubbles (Texscreen)" -main_scene="res://bubbles.scn" +main_scene="res://bubbles.tscn" icon="res://icon.png" [display] diff --git a/demos/2d/texscreen/lens.scn b/demos/2d/texscreen/lens.scn Binary files differdeleted file mode 100644 index 530a0b1eb0..0000000000 --- a/demos/2d/texscreen/lens.scn +++ /dev/null diff --git a/demos/2d/texscreen/lens.tscn b/demos/2d/texscreen/lens.tscn new file mode 100644 index 0000000000..7f449e46ae --- /dev/null +++ b/demos/2d/texscreen/lens.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=5 format=1] + +[ext_resource path="res://lens.gd" type="Script" id=1] +[ext_resource path="res://bubble.png" type="Texture" id=2] + +[sub_resource type="CanvasItemShader" id=1] + +_code = { "fragment":"vec4 normal = tex(TEXTURE,UV);\nvec2 offset = normal.xy * 2.0 - vec2(1.0);\nCOLOR.rgb=texscreen(SCREEN_UV+offset*0.03);\nCOLOR.a=normal.a;\nCOLOR.rgb*=vec3(1.0,0.8,0.7);\n", "fragment_ofs":0, "light":"", "light_ofs":0, "vertex":"", "vertex_ofs":0 } + +[sub_resource type="CanvasItemMaterial" id=2] + +shader/shader = SubResource( 1 ) +shader/shading_mode = 0 + +[node name="glass" type="BackBufferCopy"] + +transform/pos = Vector2( 482.908, 346.807 ) +transform/scale = Vector2( 1.31289, 1.34009 ) +copy_mode = 1 +rect = Rect2( -100, -100, 200, 200 ) +script/script = ExtResource( 1 ) + +[node name="lens" type="Sprite" parent="."] + +material/material = SubResource( 2 ) +transform/pos = Vector2( 1.6427, -2.90363 ) +texture = ExtResource( 2 ) + + diff --git a/demos/gui/input_mapping/controls.gd b/demos/gui/input_mapping/controls.gd index 3cee6e6871..f337353796 100644 --- a/demos/gui/input_mapping/controls.gd +++ b/demos/gui/input_mapping/controls.gd @@ -51,4 +51,6 @@ func _ready(): # We assume that the key binding that we want is the first one (0), if there are several input_event = InputMap.get_action_list(action)[0] # See note at the beginning of the script - get_node("bindings").get_node(action).get_node("Button").set_text(OS.get_scancode_string(input_event.scancode)) + var button = get_node("bindings").get_node(action).get_node("Button") + button.set_text(OS.get_scancode_string(input_event.scancode)) + button.connect("pressed", self, "wait_for_input", [action]) diff --git a/demos/gui/input_mapping/controls.scn b/demos/gui/input_mapping/controls.scn Binary files differindex 98cbbca464..7894212fb7 100644 --- a/demos/gui/input_mapping/controls.scn +++ b/demos/gui/input_mapping/controls.scn |