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.
Conociendo Godot
Presentación del curso
Juega Arkanet
Tus primeros pasos con Godot
Personaje principal
Las fÃsicas y los elementos en Godot
Creando el personaje principal
Animaciones
¿Cómo es trabajar en un equipo para desarrollar videojuegos?
Creando enemigos
Creando tu primer enemigo
Movimiento dirigido al jugador
Ataques
Creando el disparo
Colisiones
Cuando el jugador recibe daño
Usando singletons
Creando PowerUp
¿Cómo enfrentar la frustración al programar?
Escenario
Creando un fondo en loop
Optimizando movimientos y memoria
Creando el HUD
TileMap
Cinemática de la meta
Diseñando nuestro primer nivel
Diseño de otros niveles
Asignando SFX y música del juego
Consejos para crear niveles y escenarios
Finalizando el proyecto
Creando pantalla principal
Exportar tu juego
Comparte tu videojuego con la comunidad
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
Paga en 4 cuotas sin intereses
Termina en:
Cristian Ramanzin
Aportes 2
Preguntas 0
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)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?