ld55/src3/Actor/actor_die.gd

26 lines
676 B
GDScript

extends ActorState
class_name ActorDie
var time = 2
var timer = 0.0
var current_scale: Vector2
func _init(_actor):
super(_actor)
self.current_scale = actor.sprite().scale
func _process(delta):
self.actor.sprite().scale = Vector2(0.2, 0.2) * (sin(self.timer*delta*8000) + 1.0)/2.0 \
+ self.current_scale
self.current_scale -= Vector2(1, 1) * delta * 0.3
self.current_scale.x = max(0, self.current_scale.x)
self.current_scale.y = max(0, self.current_scale.y)
if self.timer > self.time:
if self.actor.player:
get_tree().change_scene_to_file('res://GameOver/game_over.tscn')
return
self.actor.set_state(null)
self.actor.queue_free()
self.timer += delta