add rust inc
This commit is contained in:
parent
ab992ae383
commit
2a9fcd17a1
13 changed files with 342 additions and 212 deletions
35
objects/enemy/roboturret.gd
Normal file
35
objects/enemy/roboturret.gd
Normal file
|
@ -0,0 +1,35 @@
|
|||
extends "res://objects/enemy/enemy.gd"
|
||||
|
||||
#Exports
|
||||
export var shoot_time = 1.0
|
||||
export var arrow_speed = 80.0
|
||||
#Onready
|
||||
onready var timer = $Timer
|
||||
onready var anims = $AnimationPlayer
|
||||
onready var shootpos = $ShootPos
|
||||
onready var raycast = $RayCast2D
|
||||
const ArrowProjectile = preload("res://objects/enemy/roboturret_proj.tscn")
|
||||
|
||||
func _physics_process(delta):
|
||||
if raycast.is_colliding():
|
||||
if sign(shootpos.position.x) == -1:
|
||||
anims.play("turn right")
|
||||
else:
|
||||
anims.play("turn left")
|
||||
|
||||
func spawn_bullet():
|
||||
var arrow = ArrowProjectile.instance()
|
||||
if scale.x > 0:
|
||||
arrow.global_position = global_position + shootpos.position
|
||||
else:
|
||||
arrow.global_position = global_position + shootpos.position
|
||||
arrow.direction = sign(shootpos.position.x)
|
||||
arrow.target_group = "player"
|
||||
arrow.speed = arrow_speed
|
||||
Game.get_map().add_child(arrow)
|
||||
timer.start(shoot_time)
|
||||
|
||||
func _on_Timer_timeout():
|
||||
if !anims.is_playing(): spawn_bullet()
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue