extends Node3D
# Velocidad a la que se moverá el objeto (puedes cambiarla desde el Inspector)
@export var velocidad: float = 5.0
func _process(delta: float) -> void:
# 1. Creamos un vector para almacenar la dirección del movimiento
var direccion: Vector3 = Vector3.ZERO
# 2. Detectamos si se presionan las flechas del teclado (Movimiento horizontal)
if Input.is_key_pressed(KEY_UP):
direccion.z -= 1.0 # Mueve hacia adelante
if Input.is_key_pressed(KEY_DOWN):
direccion.z += 1.0 # Mueve hacia atrás
if Input.is_key_pressed(KEY_LEFT):
direccion.x -= 1.0 # Mueve hacia la izquierda
if Input.is_key_pressed(KEY_RIGHT):
direccion.x += 1.0 # Mueve hacia la derecha
# 3. NUEVAS TECLAS: Control de altura en el eje Y
if Input.is_key_pressed(KEY_N):
direccion.y += 1.0 # Asciende (Sube)
if Input.is_key_pressed(KEY_M):
direccion.y -= 1.0 # Desciende (Baja)
# 4. Si se está pulsando alguna tecla, movemos el objeto
if direccion != Vector3.ZERO:
# Normalizamos el vector para que no vaya más rápido al moverse en diagonal
direccion = direccion.normalized()
# Aplicamos el movimiento teniendo en cuenta la velocidad y el tiempo (delta)
global_translate(direccion * velocidad * delta)
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
Explicacion: Un personaje en 3d lo volamos por el escenario,,,, teclas -m-n lo vajan y lo suben por su eje de coordenadas "Y" que va de arriva abajo, y teclas flechas del teclado del pc, lo mueven por sus cordenadas "z" y "x" izquierda a derecha adelante atras, tenemos el detalle del @export var velocidad: float = 5.0 que sirve para desde el inspector del motor de juegos Godot 4.6.3 variar la velocidad de su movimiento, sin tener que tocar el GDScript
No hay comentarios:
Publicar un comentario