Mostrando entradas con la etiqueta GDScript para Godot 4.4 hace animaciones al presionar teclas. Mostrar todas las entradas
Mostrando entradas con la etiqueta GDScript para Godot 4.4 hace animaciones al presionar teclas. Mostrar todas las entradas

miércoles, 16 de abril de 2025

GDScript para Godot 4.4 hace animaciones al presionar teclas , traslada al personaje por si solo en uno de sus ejes y a los 20 segundos lo borra;

 extends Node3D


var animacion_actual = "Default simplified|GRITANDO"

var animacion_idle = "Default simplified|GRITANDO" # ANIMACION DE ESTAR QUIETO

var velocidad_traslacion = 90.5

var tiempo_vida = 20.0

var tiempo_transcurrido: float = 0.0


func _ready():

$AnimationPlayer.play(animacion_actual)

pass


func _physics_process(delta):

translate(Vector3( 0, 0, velocidad_traslacion * delta,))

tiempo_transcurrido += delta

if tiempo_transcurrido >= tiempo_vida:

queue_free() # Borra el nodo de forma segura

var alguna_tecla_pulsada = false


if Input.is_action_pressed("ui_accept") or \

   Input.is_action_pressed("mouse_left") or \

   Input.is_action_pressed("luzcasco") or \

   Input.is_action_pressed("ANDAATRASCONS") or \

   Input.is_action_pressed("ANDAALANTECONW") or \

   Input.is_action_pressed("ANDAALNTECONE") or \

   Input.is_action_pressed("GIRADERECHACOND") or \

   Input.is_action_pressed("A") or \

   Input.is_action_pressed("D"):

alguna_tecla_pulsada = true


if alguna_tecla_pulsada:

# Agacharse (al presionar "luzcasco")

if Input.is_action_just_pressed("luzcasco"):

if animacion_actual != "Default simplified|ANDAR":

$AnimationPlayer.play("Default simplified|ANDAR")

animacion_actual = "Default simplified|ANDAR"


# Volver a correr (al soltar "mouse_left")

if Input.is_action_just_released("mouse_left"):

if animacion_actual != "Default simplified|correr":

$AnimationPlayer.play("Default simplified|correr")

animacion_actual = "Default simplified|correr"


# Andar hacia atrás (al presionar "ANDAATRASCONS")

if Input.is_action_just_pressed("ANDAATRASCONS"):

if animacion_actual != "Default simplified|correr":

$AnimationPlayer.play("Default simplified|correr")

animacion_actual = "Default simplified|correr"





# Volver a andar normal (al presionar "ANDAALANTECONW")

if Input.is_action_just_pressed("ANDAALANTECONW"):

if animacion_actual != "Default simplified|correr":

$AnimationPlayer.play("Default simplified|correr")

animacion_actual = "Default simplified|correr"




# Volver a andar normal (al soltar "ANDAALANTECONW")

if Input.is_action_just_released("ANDAALANTECONW"):

if animacion_actual != "Default simplified|GRITAR":

$AnimationPlayer.play("Default simplified|GRITAR")

animacion_actual = "Default simplified|GRITAR"


# Otra acción para correr (al presionar "ANDAALNTECONE")

if Input.is_action_just_pressed("ANDAALNTECONE"):

if animacion_actual != "Default simplified|correr":

$AnimationPlayer.play("Default simplified|correr")

animacion_actual = "Default simplified|correr"


# Volver a gritar (al soltar "GIRADERECHACOND")

if Input.is_action_just_released("GIRADERECHACOND"):

if animacion_actual != "Default simplified|GRITANDO":

$AnimationPlayer.play("Default simplified|GRITANDO")

animacion_actual = "Default simplified|GRITANDO"


# Correr con "A" (al presionar)

if Input.is_action_just_pressed("A"):

if animacion_actual != "Default simplified|correr":

$AnimationPlayer.play("Default simplified|correr")

animacion_actual = "Default simplified|correr"


# Gritar con "A" (al soltar)

if Input.is_action_just_released("A"):

if animacion_actual != "Default simplified|GRITAR":

$AnimationPlayer.play("Default simplified|GRITAR")

animacion_actual = "Default simplified|GRITAR"


# Correr con "D" (al presionar)

if Input.is_action_just_pressed("D"):

if animacion_actual != "Default simplified|correr":

$AnimationPlayer.play("Default simplified|correr")

animacion_actual = "Default simplified|correr"


# Correr con "D" (al soltar) - REVISA ESTA LÓGICA

if Input.is_action_just_released("D"):

if animacion_actual != "Default simplified|GRITAR":

$AnimationPlayer.play("Default simplified|GRITAR")

animacion_actual = "Default simplified|GRITAR"

else:

# Si no se presiona ninguna tecla, reproduce la animación de estar quieto

if animacion_actual != animacion_idle:

$AnimationPlayer.play(animacion_idle)

animacion_actual = animacion_idle