Fronter/Bad1.gd

53 lines
985 B
GDScript

extends Area2D
signal dead
export (int) var SPEED
export (PackedScene) var Laser
var screensize
var health_multi = 1
# class member variables go here, for example:
# var a = 2
# var b = "textvar"
var health = 50
var hit_timer = 1000
func _on_Visibility_screen_exited():
prints("bye-bye, bad bad")
queue_free()
func _ready():
connect("area_entered", self, "hit")
pass
func hit(who):
health -= 10/health_multi
$AnimatedSprite.frame = 1
hit_timer = 0
var velocity = Vector2()
func _process(delta):
if health <= 0:
emit_signal("dead", 15)
queue_free()
if hit_timer < 0.15:
hit_timer += delta
velocity.x = 0
elif hit_timer < 0.25:
hit_timer += delta
velocity.x -= 1
else:
velocity.x -= 1
$AnimatedSprite.frame = 0
# the player's movement vector
if velocity.length() > 0:
velocity = velocity.normalized() * SPEED
var health_bar = Vector2(((health * 6) - 157), -273)
$Line2D.set_point_position( 1, health_bar )
position += velocity * delta