martes, 27 de agosto de 2024

Un personaje camina y al presionar boton del mouse hace otra animacion mientras esta presionado, al soltar sigue la de caminar;

 extends Node3D


var animacion_actual = "Default simplifiedAction"


func _ready() -> void:

# Reproduce la animación principal en bucle

$AnimationPlayer.play("Default simplifiedAction", -1)


func _input(event):

if event is InputEventMouseButton:

if event.pressed and event.button_index == 1:

# Pausa la animación principal y encola la secundaria

$AnimationPlayer.stop()

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


elif event.button_index == 1 and not event.pressed:

# Reanuda la animación principal

$AnimationPlayer.play("Default simplifiedAction", -1)


----------------------------------------------------------------------------------------------------------------------

----------------------ejemplo 2ª------------------- en este hace otras animacion despues de la primera aunque no lo practique la de arriba si que funciona en Godot4.3---------( ACLARACION LA ANIMACION DE CAMINAR A DE ESTAR EN MODO LOOP DESDE DONDE MANIPULAMOS LAS ANIMACIONES EN EL SCRIPT NO ESTA REFLEJADO)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




extends Node3D


func _ready() -> void:

    $AnimationPlayer.play("Default simplifiedAction", -1)


func _input(event):

    if event is InputEventMouseButton:

        if event.pressed and event.button_index == 1:

            # Pausa la animación principal y encola la secundaria

            $AnimationPlayer.stop()

            $AnimationPlayer.queue("Default simplified|INFLACABEZA")

            $AnimationPlayer.queue("OtraAnimacion")  # Se reproducirá después de la anterior