Im working right now on something similar, need some help......
ENEMY SCRIPT ==============================
Extends KinemeticBody2d
export var spell = preload("res://Spells/TurretSpell1.tscn")
onready var player = get_parent().get_node("../Player")
var player_inrange = false
func spawnBullets():
if player_inrange == true:
var bullet = spell.instance()
add_child(bullet)
bullet.global_position = global_position
var dir = (player.global_position - global_position).normalized()
bullet.global_rotation = dir.angle() + PI / 2.0
bullet.direction = dir
bullet.rotation = get_angle_to(player.position)
BULLET SCRIPT ====================
extends RigidBody2D / ( put in kinematic mode properties)
var direction : Vector2 = Vector2.LEFT # default direction
var speed : float = 2000
var lifeTime = 2
func _physics_process(delta):
translate(directionspeeddelta)
self_Destruct()
func self_Destruct():
yield(get_tree().create_timer(lifeTime), "timeout")
queue_free()
PD it works but i got some editor errors because the queue free.... i think have to look another way to queue the bullets, any ideas?
PD2 if i spawn only 3 of this enemies game freezes so much, very F much, when shooting....i dont find why