No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Movimiento dirigido al jugador

9/28
Recursos

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Sin duda el que el enemigo se mantenga persiguiendo al personaje lo hace más desafiante.
Una idea hibrida entre ambas sería que no actualice la posición del personaje en tiempo real, sino con algún delay.

Escribí una versión del script. Cuando el enemigo llega a la posición del personaje, sigue en línea recta hasta desaparecer de la pantalla:

extends Area2D

export (float) var speed = 500
var posicion_alcanzada = false
var movimiento = Vector2.ZERO

onready var personajes = get_tree().get_nodes_in_group('personaje')
onready var personaje_posicion = personajes[0].global_position

# Mueve un enemigo a la posición del personaje y luego sigue en linea recta
func _physics_process(delta):
	if((self.global_position == personaje_posicion) && posicion_alcanzada == false):
		posicion_alcanzada = true
		
	if(posicion_alcanzada == false):
		self.global_position = global_position.move_toward(personaje_posicion, speed * delta)
	else:
		# x:-200 que el enemigo hasta salir de pantalla
		self.global_position = global_position.move_toward(Vector2(-200, personaje_posicion.y), delta * speed)