sábado, 12 de abril de 2025

Ejemplo de animar por GDScript en Godot 4.4.;

 extends Node3D


var animacion_actual = "Default simplified|GRITANDO"

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


func _ready():

$AnimationPlayer.play(animacion_actual)

pass


func _physics_process(delta):

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 soltar "ANDAALANTECONW")

if Input.is_action_just_released("ANDAALANTECONW"):

if animacion_actual != "Default simplified|ANDAR":

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

animacion_actual = "Default simplified|ANDAR"


# 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|correr":

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

animacion_actual = "Default simplified|correr"

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

-----------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
ejemplo.2
-----------------------------------------------------------------------
----------------------------------------------------------------------------
extends Node3D

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

func _ready():
$AnimationPlayer.play(animacion_actual)
pass

func _physics_process(delta):
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

No hay comentarios:

Publicar un comentario