La función mover_jugador() actualiza la posición del jugador según su velocidad y asegura que permanezca dentro de los límites de la pantalla.
-
speed
Actualización de posición
Modifica la posición según la velocidad y delta time
-
border_outer
Límites de pantalla
Mantiene al jugador dentro de los bordes visibles
-
update
Independencia de FPS
Usa delta para movimiento consistente
lightbulb
Puntos clave
check_circle
Se ejecuta en cada frame desde _process()
check_circle
Solo mueve si el jugador está vivo
check_circle
Actualiza hitbox junto con posición
Movimiento del jugador
directions_run
func mover_jugador(delta):
# Verificar si el jugador está vivo
if !jugador.vivo:
return
# Actualizar posición según velocidad
jugador.pos += jugador.velocidad * delta
# Obtener dimensiones de pantalla
var pantalla = get_viewport().get_visible_rect().size
# Limitar movimiento horizontal
jugador.pos.x = clamp(jugador.pos.x, 0, pantalla.x - jugador.tam.x)
# Limitar movimiento vertical
jugador.pos.y = clamp(jugador.pos.y, 0, pantalla.y - jugador.tam.y)
# Actualizar hitbox
jugador.hitbox.position = jugador.pos + (jugador.tam * (1 - FACTOR_HITBOX) / 2)
# Verificar si el jugador está vivo
if !jugador.vivo:
return
# Actualizar posición según velocidad
jugador.pos += jugador.velocidad * delta
# Obtener dimensiones de pantalla
var pantalla = get_viewport().get_visible_rect().size
# Limitar movimiento horizontal
jugador.pos.x = clamp(jugador.pos.x, 0, pantalla.x - jugador.tam.x)
# Limitar movimiento vertical
jugador.pos.y = clamp(jugador.pos.y, 0, pantalla.y - jugador.tam.y)
# Actualizar hitbox
jugador.hitbox.position = jugador.pos + (jugador.tam * (1 - FACTOR_HITBOX) / 2)
speed
arrow_forward
Actualizar posición
border_outer
arrow_forward
Verificar límites
crop_free
Actualizar hitbox
rocket
arrow_back
arrow_forward