forked from team-sg/hero-mark-2
laser wall enemy
This commit is contained in:
parent
c2d473a993
commit
95da126f17
5 changed files with 105 additions and 2 deletions
33
objects/enemy/laser_wall.gd
Normal file
33
objects/enemy/laser_wall.gd
Normal file
|
@ -0,0 +1,33 @@
|
|||
extends "res://objects/enemy/enemy_move_sidesideupdown.gd"
|
||||
|
||||
export var laser_rate = 1.0
|
||||
export var laser_time = 0.5
|
||||
|
||||
onready var line = $Laser
|
||||
onready var cast = $RayCast2D
|
||||
onready var timer = $Timer
|
||||
|
||||
func _ready():
|
||||
_disable_laser()
|
||||
|
||||
func _physics_process(delta):
|
||||
if cast.is_colliding():
|
||||
line.points[1].y = line.to_local(cast.get_collision_point()).y
|
||||
line.visible = true
|
||||
var collider = cast.get_collider()
|
||||
if collider.is_in_group("player"):
|
||||
collider.get_parent().die()
|
||||
else:
|
||||
line.visible = false
|
||||
|
||||
func _enable_laser():
|
||||
cast.enabled = true
|
||||
timer.wait_time = laser_time
|
||||
timer.connect("timeout", self, "_disable_laser", [], CONNECT_ONESHOT)
|
||||
timer.start()
|
||||
|
||||
func _disable_laser():
|
||||
cast.enabled = false
|
||||
timer.wait_time = laser_rate
|
||||
timer.connect("timeout", self, "_enable_laser", [], CONNECT_ONESHOT)
|
||||
timer.start()
|
Loading…
Add table
Add a link
Reference in a new issue