No tienes acceso a esta clase

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

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
5 Hrs
38 Min
8 Seg

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)