extends Area2D export var speed = 16.0 onready var sprite = $Sprite var lifetime = 0.0 func _ready(): sprite.frame_coords.x = randi() % sprite.hframes func _physics_process(delta): lifetime += delta if speed > 0.0: sprite.position.x = sin(lifetime * 4.0) * 4.0 position.y -= speed * delta func _on_area_entered(area): if area.is_in_group("player") or area.is_in_group("arrow"): sprite.frame_coords.y = 1 speed = 0.0 get_tree().create_timer(0.5, false).connect("timeout", self, "queue_free")