added respawn timer for falling blocks

This commit is contained in:
pennyrigate 2023-01-16 01:34:14 -05:00
parent 25fcdd6f54
commit 86ee9b12fa
7 changed files with 51 additions and 37 deletions

View file

@ -3,7 +3,8 @@ extends KinematicBody2D
var fall = false
export var fall_speed = 0.5
onready var startpos = position
onready var timer = $Timer
onready var fall_timer = $FallTimer
onready var refresh_timer = $RefreshTimer
func _physics_process(delta):
if fall:
@ -11,18 +12,21 @@ func _physics_process(delta):
func _on_Area2D_area_entered(area):
if area.is_in_group("player"):
timer.start()
fall_timer.start()
func _on_VisibilityNotifier2D_screen_exited():
position = startpos
fall = false
func _on_RefreshTimer_timeout():
position = startpos
fall = false
func _on_Timer_timeout():
func _on_FallTimer_timeout():
fall = true
refresh_timer.start()
func _on_Area2D_area_exited(area):
timer.stop()
fall_timer.stop()

View file

@ -35,11 +35,15 @@ collision_mask = 2
position = Vector2( 4, -0.5 )
shape = SubResource( 2 )
[node name="Timer" type="Timer" parent="."]
[node name="FallTimer" type="Timer" parent="."]
wait_time = 0.15
one_shot = true
[node name="RefreshTimer" type="Timer" parent="."]
wait_time = 2.0
[connection signal="screen_exited" from="VisibilityNotifier2D" to="." method="_on_VisibilityNotifier2D_screen_exited"]
[connection signal="area_entered" from="Area2D" to="." method="_on_Area2D_area_entered"]
[connection signal="area_exited" from="Area2D" to="." method="_on_Area2D_area_exited"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
[connection signal="timeout" from="FallTimer" to="." method="_on_FallTimer_timeout"]
[connection signal="timeout" from="RefreshTimer" to="." method="_on_RefreshTimer_timeout"]