turning platforms have customizable start delay
This commit is contained in:
parent
63cf47305b
commit
629bc75fbb
5 changed files with 188 additions and 41 deletions
|
@ -1,25 +1,33 @@
|
|||
extends Node2D
|
||||
onready var anims = $AnimationPlayer
|
||||
onready var timer = $Timer
|
||||
onready var flip_timer = $FlipTimer
|
||||
onready var delay_timer = $DelayTimer
|
||||
export var time:float = 60
|
||||
export var delay = 0.0
|
||||
export(int, "Wood", "Yellow") var color
|
||||
onready var time_ms = time * 0.0166666666666667 # Time is converted from frames @ 60fps to ms
|
||||
|
||||
func _ready():
|
||||
#Autostart animationplayer
|
||||
anims.play("idle")
|
||||
timer.start(time_ms)
|
||||
|
||||
func _physics_process(delta):
|
||||
pass
|
||||
#Debug.print(timer.)
|
||||
#Auto start if delay variable is zero
|
||||
if delay == 0.0:
|
||||
anims.play("idle")
|
||||
flip_timer.start(time_ms)
|
||||
else:
|
||||
delay_timer.start(delay)
|
||||
|
||||
func _on_AnimationPlayer_animation_finished(anim_name):
|
||||
#Return to idle after turn animation
|
||||
if anim_name == "turn":
|
||||
anims.play("idle")
|
||||
timer.start(time_ms)
|
||||
flip_timer.start(time_ms)
|
||||
|
||||
func _physics_process(delta):
|
||||
Debug.print(delay_timer.get_time_left())
|
||||
|
||||
func _on_Timer_timeout():
|
||||
func _on_FlipTimer_timeout():
|
||||
anims.play("turn")
|
||||
|
||||
|
||||
func _on_DelayTimer_timeout():
|
||||
anims.play("idle")
|
||||
flip_timer.start(time_ms)
|
||||
|
|
|
@ -119,7 +119,11 @@ shape = SubResource( 1 )
|
|||
anims/idle = SubResource( 2 )
|
||||
anims/turn = SubResource( 3 )
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
[node name="FlipTimer" type="Timer" parent="."]
|
||||
|
||||
[node name="DelayTimer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
|
||||
[connection signal="timeout" from="FlipTimer" to="." method="_on_FlipTimer_timeout"]
|
||||
[connection signal="timeout" from="DelayTimer" to="." method="_on_DelayTimer_timeout"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue