niveau: les pics tuent
Lorsque la princesse rentre en collision avec un pic, elle meurt et recommence au début du jeu.
This commit is contained in:
@@ -6,9 +6,11 @@
|
|||||||
[node name="game" type="Node"]
|
[node name="game" type="Node"]
|
||||||
|
|
||||||
[node name="Node2D" parent="." instance=ExtResource("1_qv57y")]
|
[node name="Node2D" parent="." instance=ExtResource("1_qv57y")]
|
||||||
|
light_mask = 1
|
||||||
|
visibility_layer = 1
|
||||||
position = Vector2(1, 10)
|
position = Vector2(1, 10)
|
||||||
|
|
||||||
[node name="Princesse" parent="Node2D" instance=ExtResource("2_0ku48")]
|
[node name="Princesse" parent="Node2D" instance=ExtResource("2_0ku48")]
|
||||||
position = Vector2(-95, -14)
|
position = Vector2(-95, -14)
|
||||||
scale = Vector2(0.6, 0.6)
|
scale = Vector2(0.6, 0.6)
|
||||||
collision_mask = 28
|
collision_mask = 60
|
||||||
|
|||||||
@@ -1022,7 +1022,6 @@ texture = ExtResource("2_0lafl")
|
|||||||
physics_layer_0/collision_layer = 16
|
physics_layer_0/collision_layer = 16
|
||||||
physics_layer_0/collision_mask = 0
|
physics_layer_0/collision_mask = 0
|
||||||
physics_layer_1/collision_layer = 32
|
physics_layer_1/collision_layer = 32
|
||||||
physics_layer_1/collision_mask = 0
|
|
||||||
sources/0 = SubResource("TileSetAtlasSource_oitv5")
|
sources/0 = SubResource("TileSetAtlasSource_oitv5")
|
||||||
sources/1 = SubResource("TileSetAtlasSource_f5ev5")
|
sources/1 = SubResource("TileSetAtlasSource_f5ev5")
|
||||||
sources/2 = SubResource("TileSetAtlasSource_2v4nl")
|
sources/2 = SubResource("TileSetAtlasSource_2v4nl")
|
||||||
|
|||||||
16
princesse.gd
16
princesse.gd
@@ -51,6 +51,11 @@ var falling_step : int = -1
|
|||||||
|
|
||||||
var pressing_wall = false
|
var pressing_wall = false
|
||||||
|
|
||||||
|
|
||||||
|
const PLATFORM_LAYER = 1 << (5 - 1) # collision layer 5
|
||||||
|
const PICS_BLOCK_LAYER = 1 << (6 - 1) # collision layer 6
|
||||||
|
var layer_of_collision = null
|
||||||
|
|
||||||
func walk(direction:int) -> int:
|
func walk(direction:int) -> int:
|
||||||
# Fait marcher le personnage.
|
# Fait marcher le personnage.
|
||||||
|
|
||||||
@@ -179,7 +184,16 @@ func _physics_process(delta: float) -> void:
|
|||||||
animation.scale.x *= -1
|
animation.scale.x *= -1
|
||||||
|
|
||||||
floor_stop_on_slope = not platform_detector.is_colliding()
|
floor_stop_on_slope = not platform_detector.is_colliding()
|
||||||
move_and_slide() # Character is colliding
|
var collision = move_and_slide()
|
||||||
|
if collision:
|
||||||
|
var collider = get_last_slide_collision().get_collider()
|
||||||
|
|
||||||
|
if collider is TileMap:
|
||||||
|
var tile_rid = get_last_slide_collision().get_collider_rid()
|
||||||
|
layer_of_collision = PhysicsServer2D.body_get_collision_layer(tile_rid)
|
||||||
|
if layer_of_collision == PICS_BLOCK_LAYER:
|
||||||
|
get_tree(). reload_current_scene()
|
||||||
|
|
||||||
|
|
||||||
var anim := get_new_animation(false)
|
var anim := get_new_animation(false)
|
||||||
if anim != animation.animation:
|
if anim != animation.animation:
|
||||||
|
|||||||
@@ -48,6 +48,9 @@ jump={
|
|||||||
[layer_names]
|
[layer_names]
|
||||||
|
|
||||||
2d_render/layer_1="plateformes"
|
2d_render/layer_1="plateformes"
|
||||||
|
2d_physics/layer_5="plateformes"
|
||||||
|
2d_physics/layer_6="pics"
|
||||||
|
2d_physics/layer_7="fromages"
|
||||||
|
|
||||||
[rendering]
|
[rendering]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user