One way collision working for tree branches

This commit is contained in:
dariasteam 2017-08-17 18:01:48 +01:00
parent 88e5ba9f73
commit dba4877bf4
6 changed files with 179 additions and 49 deletions

View file

@ -219,11 +219,9 @@ func _input(ev):
# Agacharse
if (ev.is_action_pressed("ui_down")):
get_node("Collision_Normal").set_trigger(true)
get_node("Collision_Agachado").set_trigger(false)
set_collision_mask_bit(11, 0)
elif (ev.is_action_released("ui_down")):
get_node("Collision_Normal").set_trigger(false)
get_node("Collision_Agachado").set_trigger(true)
set_collision_mask_bit(11, 1)
# Saltar
if (ev.is_action_pressed("ui_jump")):

View file

@ -45,7 +45,7 @@ shapes/1/shape = SubResource( 2 )
shapes/1/transform = Matrix32( 2.31574, 0, 0, 1.23398, -0.18514, 15.1934 )
shapes/1/trigger = true
collision/layers = 1057
collision/mask = 18
collision/mask = 2066
collision/margin = 0.08
script/script = ExtResource( 1 )
JUMP_SPEED = 500

File diff suppressed because one or more lines are too long

View file

@ -167,7 +167,7 @@ points = Vector2Array( 23, -12, 35, -12, 35, -1, 24, 3 )
custom_solver_bias = 0.0
points = Vector2Array( -9, 30, 16, 17, 16, 30 )
[sub_resource type="ConvexPolygonShape2D" id=47]
[sub_resource type="ConvexPolygonShape2D" id=34]
custom_solver_bias = 0.0
points = Vector2Array( -9, -34, 16, -34, 16, 30, -9, -18 )
@ -187,42 +187,42 @@ points = Vector2Array( 16, 30, -9, 30, -9, 14 )
custom_solver_bias = 0.0
points = Vector2Array( -16, -12, -15, 4, -29, -1, -29, -12 )
[sub_resource type="RectangleShape2D" id=50]
[sub_resource type="RectangleShape2D" id=38]
custom_solver_bias = 0.0
extents = Vector2( 2, 6 )
[sub_resource type="RectangleShape2D" id=49]
[sub_resource type="RectangleShape2D" id=39]
custom_solver_bias = 0.0
extents = Vector2( 32, 6 )
[sub_resource type="ConvexPolygonShape2D" id=41]
[sub_resource type="ConvexPolygonShape2D" id=40]
custom_solver_bias = 0.0
points = Vector2Array( -9, -18, -9, -34, 16, -34, 16, -18 )
[sub_resource type="ConvexPolygonShape2D" id=42]
[sub_resource type="ConvexPolygonShape2D" id=41]
custom_solver_bias = 0.0
points = Vector2Array( 23, -12, 35, -12, 35, -1, 23, 4, -14, 6 )
[sub_resource type="ConvexPolygonShape2D" id=43]
[sub_resource type="ConvexPolygonShape2D" id=42]
custom_solver_bias = 0.0
points = Vector2Array( 16, 19, 16, 30, -9, 30, -9, 18 )
[sub_resource type="ConvexPolygonShape2D" id=44]
[sub_resource type="ConvexPolygonShape2D" id=43]
custom_solver_bias = 0.0
points = Vector2Array( -24, -1, -29, -1, -29, -12, -17, -12 )
[sub_resource type="ConvexPolygonShape2D" id=45]
[sub_resource type="ConvexPolygonShape2D" id=44]
custom_solver_bias = 0.0
points = Vector2Array( -14, 6, -24, -1, -17, -12, -9, -18, 16, -18, 23, -12 )
[sub_resource type="ConvexPolygonShape2D" id=46]
[sub_resource type="ConvexPolygonShape2D" id=45]
custom_solver_bias = 0.0
points = Vector2Array( 23, 4, 16, 19, -9, 18, -14, 6 )
@ -1158,7 +1158,9 @@ shapes/3/shape = SubResource( 33 )
shapes/3/transform = Matrix32( 1, 0, 0, 1, 0, 2 )
shapes/3/trigger = false
collision/layers = 2
collision/mask = 15
collision/mask = 12
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 = 0.0
@ -1188,7 +1190,7 @@ region_rect = Rect2( 0, 256, 64, 64 )
transform/pos = Vector2( -3, 0 )
input/pickable = false
shapes/0/shape = SubResource( 47 )
shapes/0/shape = SubResource( 34 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 2 )
shapes/0/trigger = false
shapes/1/shape = SubResource( 35 )
@ -1217,6 +1219,8 @@ trigger = false
[node name="Rama_end_right" type="Sprite" parent="."]
editor/display_folded = true
visibility/visible = false
transform/pos = Vector2( -64, -64 )
z/z = 2
texture = ExtResource( 1 )
@ -1229,7 +1233,7 @@ region_rect = Rect2( 0, 256, 64, 64 )
transform/pos = Vector2( -3, 0 )
input/pickable = false
shapes/0/shape = SubResource( 50 )
shapes/0/shape = SubResource( 38 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, -27, -5 )
shapes/0/trigger = false
collision/layers = 2
@ -1244,12 +1248,14 @@ bounce = 0.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Rama_end_right/StaticBody2D1"]
transform/pos = Vector2( -27, -5 )
shape = SubResource( 50 )
shape = SubResource( 38 )
trigger = false
_update_shape_index = 0
[node name="Rama_end_left" type="Sprite" parent="."]
editor/display_folded = true
visibility/visible = false
transform/pos = Vector2( -64, -64 )
z/z = 2
texture = ExtResource( 1 )
@ -1262,7 +1268,7 @@ region_rect = Rect2( 0, 256, 64, 64 )
transform/pos = Vector2( -3, 0 )
input/pickable = false
shapes/0/shape = SubResource( 50 )
shapes/0/shape = SubResource( 38 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 33, -5 )
shapes/0/trigger = false
collision/layers = 2
@ -1277,7 +1283,7 @@ bounce = 0.0
[node name="CollisionShape2D1" type="CollisionShape2D" parent="Rama_end_left/StaticBody2D1"]
transform/pos = Vector2( 33, -5 )
shape = SubResource( 50 )
shape = SubResource( 38 )
trigger = false
_update_shape_index = 0
@ -1297,11 +1303,11 @@ region_rect = Rect2( 0, 256, 64, 64 )
transform/pos = Vector2( -3, 0 )
input/pickable = false
shapes/0/shape = SubResource( 49 )
shapes/0/shape = SubResource( 39 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 3, -4 )
shapes/0/trigger = false
collision/layers = 2
collision/mask = 15
collision/layers = 0
collision/mask = 0
one_way_collision/direction = Vector2( 0, 1 )
one_way_collision/max_depth = 20.0
constant_linear_velocity = Vector2( 0, 0 )
@ -1312,7 +1318,7 @@ bounce = 0.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Rama/StaticBody2D1"]
transform/pos = Vector2( 3, -4 )
shape = SubResource( 49 )
shape = SubResource( 39 )
trigger = false
_update_shape_index = 0
@ -1332,22 +1338,22 @@ region_rect = Rect2( 0, 256, 64, 64 )
transform/pos = Vector2( -3, 0 )
input/pickable = false
shapes/0/shape = SubResource( 41 )
shapes/0/shape = SubResource( 40 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 2 )
shapes/0/trigger = false
shapes/1/shape = SubResource( 42 )
shapes/1/shape = SubResource( 41 )
shapes/1/transform = Matrix32( 1, 0, 0, 1, 0, 2 )
shapes/1/trigger = false
shapes/2/shape = SubResource( 43 )
shapes/2/shape = SubResource( 42 )
shapes/2/transform = Matrix32( 1, 0, 0, 1, 0, 2 )
shapes/2/trigger = false
shapes/3/shape = SubResource( 44 )
shapes/3/shape = SubResource( 43 )
shapes/3/transform = Matrix32( 1, 0, 0, 1, 0, 2 )
shapes/3/trigger = false
shapes/4/shape = SubResource( 45 )
shapes/4/shape = SubResource( 44 )
shapes/4/transform = Matrix32( 1, 0, 0, 1, 0, 2 )
shapes/4/trigger = false
shapes/5/shape = SubResource( 46 )
shapes/5/shape = SubResource( 45 )
shapes/5/transform = Matrix32( 1, 0, 0, 1, 0, 2 )
shapes/5/trigger = false
collision/layers = 2
@ -1365,4 +1371,34 @@ polygon = Vector2Array( -9, -34, 16, -34, 16, -18, 23, -12, 35, -12, 35, -1, 23,
shape_range = Vector2( 0, 5 )
trigger = false
[node name="hoja_1" type="Sprite" parent="."]
transform/pos = Vector2( -64, -64 )
z/z = 3
texture = ExtResource( 1 )
vframes = 11
hframes = 5
frame = 47
region_rect = Rect2( 0, 256, 64, 64 )
[node name="hoja_2" type="Sprite" parent="."]
transform/pos = Vector2( -64, -64 )
z/z = 3
texture = ExtResource( 1 )
vframes = 11
hframes = 5
frame = 48
region_rect = Rect2( 0, 256, 64, 64 )
[node name="hoja_3" type="Sprite" parent="."]
transform/pos = Vector2( -64, -64 )
z/z = 3
texture = ExtResource( 1 )
vframes = 11
hframes = 5
frame = 49
region_rect = Rect2( 0, 256, 64, 64 )

View file

@ -131,7 +131,7 @@
<vector2_array name="points" len="3"> -9, 30, 16, 17, 16, 30 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://47">
<resource type="ConvexPolygonShape2D" path="local://34">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -9, -34, 16, -34, 16, 30, -9, -18 </vector2_array>
@ -151,42 +151,42 @@
<vector2_array name="points" len="4"> -16, -12, -15, 4, -29, -1, -29, -12 </vector2_array>
</resource>
<resource type="RectangleShape2D" path="local://50">
<resource type="RectangleShape2D" path="local://38">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 2, 6 </vector2>
</resource>
<resource type="RectangleShape2D" path="local://49">
<resource type="RectangleShape2D" path="local://39">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 32, 6 </vector2>
</resource>
<resource type="ConvexPolygonShape2D" path="local://41">
<resource type="ConvexPolygonShape2D" path="local://40">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -9, -18, -9, -34, 16, -34, 16, -18 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://42">
<resource type="ConvexPolygonShape2D" path="local://41">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="5"> 23, -12, 35, -12, 35, -1, 23, 4, -14, 6 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://43">
<resource type="ConvexPolygonShape2D" path="local://42">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 16, 19, 16, 30, -9, 30, -9, 18 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://44">
<resource type="ConvexPolygonShape2D" path="local://43">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -24, -1, -29, -1, -29, -12, -17, -12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://45">
<resource type="ConvexPolygonShape2D" path="local://44">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="6"> -14, 6, -24, -1, -17, -12, -9, -18, 16, -18, 23, -12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://46">
<resource type="ConvexPolygonShape2D" path="local://45">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 23, 4, 16, 19, -9, 18, -14, 6 </vector2_array>
@ -666,8 +666,8 @@
<resource resource_type="Shape2D" path="local://32"> </resource>
<resource resource_type="Shape2D" path="local://33"> </resource>
</array>
<vector2 name="33/one_way_collision_direction"> 0, 0 </vector2>
<real name="33/one_way_collision_max_depth"> 0 </real>
<vector2 name="33/one_way_collision_direction"> 0, 1 </vector2>
<real name="33/one_way_collision_max_depth"> 20 </real>
<string name="34/name"> "Tronco_rama_left" </string>
<resource name="34/texture" external="0"> </resource>
<vector2 name="34/tex_offset"> 0, 0 </vector2>
@ -677,7 +677,7 @@
<resource name="34/occluder"></resource> <vector2 name="34/navigation_offset"> 29, 32 </vector2>
<resource name="34/navigation"></resource> <vector2 name="34/shape_offset"> 29, 32 </vector2>
<array name="34/shapes" len="4" shared="false">
<resource resource_type="Shape2D" path="local://47"> </resource>
<resource resource_type="Shape2D" path="local://34"> </resource>
<resource resource_type="Shape2D" path="local://35"> </resource>
<resource resource_type="Shape2D" path="local://36"> </resource>
<resource resource_type="Shape2D" path="local://37"> </resource>
@ -693,7 +693,7 @@
<resource name="35/occluder"></resource> <vector2 name="35/navigation_offset"> 29, 32 </vector2>
<resource name="35/navigation"></resource> <vector2 name="35/shape_offset"> 29, 32 </vector2>
<array name="35/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://50"> </resource>
<resource resource_type="Shape2D" path="local://38"> </resource>
</array>
<vector2 name="35/one_way_collision_direction"> 0, 1 </vector2>
<real name="35/one_way_collision_max_depth"> 20 </real>
@ -706,7 +706,7 @@
<resource name="36/occluder"></resource> <vector2 name="36/navigation_offset"> 29, 32 </vector2>
<resource name="36/navigation"></resource> <vector2 name="36/shape_offset"> 29, 32 </vector2>
<array name="36/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://50"> </resource>
<resource resource_type="Shape2D" path="local://38"> </resource>
</array>
<vector2 name="36/one_way_collision_direction"> 0, 1 </vector2>
<real name="36/one_way_collision_max_depth"> 20 </real>
@ -719,7 +719,7 @@
<resource name="37/occluder"></resource> <vector2 name="37/navigation_offset"> 29, 32 </vector2>
<resource name="37/navigation"></resource> <vector2 name="37/shape_offset"> 29, 32 </vector2>
<array name="37/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://49"> </resource>
<resource resource_type="Shape2D" path="local://39"> </resource>
</array>
<vector2 name="37/one_way_collision_direction"> 0, 1 </vector2>
<real name="37/one_way_collision_max_depth"> 20 </real>
@ -732,15 +732,51 @@
<resource name="38/occluder"></resource> <vector2 name="38/navigation_offset"> 29, 32 </vector2>
<resource name="38/navigation"></resource> <vector2 name="38/shape_offset"> 29, 32 </vector2>
<array name="38/shapes" len="6" shared="false">
<resource resource_type="Shape2D" path="local://40"> </resource>
<resource resource_type="Shape2D" path="local://41"> </resource>
<resource resource_type="Shape2D" path="local://42"> </resource>
<resource resource_type="Shape2D" path="local://43"> </resource>
<resource resource_type="Shape2D" path="local://44"> </resource>
<resource resource_type="Shape2D" path="local://45"> </resource>
<resource resource_type="Shape2D" path="local://46"> </resource>
</array>
<vector2 name="38/one_way_collision_direction"> 0, 0 </vector2>
<real name="38/one_way_collision_max_depth"> 0 </real>
<string name="39/name"> "hoja_1" </string>
<resource name="39/texture" external="0"> </resource>
<vector2 name="39/tex_offset"> 0, 0 </vector2>
<resource name="39/material"></resource> <color name="39/modulate"> 1, 1, 1, 1 </color>
<rect2 name="39/region"> 128, 576, 64, 64 </rect2>
<vector2 name="39/occluder_offset"> 32, 32 </vector2>
<resource name="39/occluder"></resource> <vector2 name="39/navigation_offset"> 32, 32 </vector2>
<resource name="39/navigation"></resource> <vector2 name="39/shape_offset"> 0, 0 </vector2>
<array name="39/shapes" len="0" shared="false">
</array>
<vector2 name="39/one_way_collision_direction"> 0, 0 </vector2>
<real name="39/one_way_collision_max_depth"> 0 </real>
<string name="40/name"> "hoja_2" </string>
<resource name="40/texture" external="0"> </resource>
<vector2 name="40/tex_offset"> 0, 0 </vector2>
<resource name="40/material"></resource> <color name="40/modulate"> 1, 1, 1, 1 </color>
<rect2 name="40/region"> 192, 576, 64, 64 </rect2>
<vector2 name="40/occluder_offset"> 32, 32 </vector2>
<resource name="40/occluder"></resource> <vector2 name="40/navigation_offset"> 32, 32 </vector2>
<resource name="40/navigation"></resource> <vector2 name="40/shape_offset"> 0, 0 </vector2>
<array name="40/shapes" len="0" shared="false">
</array>
<vector2 name="40/one_way_collision_direction"> 0, 0 </vector2>
<real name="40/one_way_collision_max_depth"> 0 </real>
<string name="41/name"> "hoja_3" </string>
<resource name="41/texture" external="0"> </resource>
<vector2 name="41/tex_offset"> 0, 0 </vector2>
<resource name="41/material"></resource> <color name="41/modulate"> 1, 1, 1, 1 </color>
<rect2 name="41/region"> 256, 576, 64, 64 </rect2>
<vector2 name="41/occluder_offset"> 32, 32 </vector2>
<resource name="41/occluder"></resource> <vector2 name="41/navigation_offset"> 32, 32 </vector2>
<resource name="41/navigation"></resource> <vector2 name="41/shape_offset"> 0, 0 </vector2>
<array name="41/shapes" len="0" shared="false">
</array>
<vector2 name="41/one_way_collision_direction"> 0, 0 </vector2>
<real name="41/one_way_collision_max_depth"> 0 </real>
</main_resource>
</resource_file>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before After
Before After