miércoles, 28 de febrero de 2024

Nuevo script para Godot4.2 para animar un personaje que sin presionar tecla ya tiene una animacion en bucle;

extends Node3D


var animacion_actual = "ANDAR"


func _physics_process(delta):


    # Agacharse


    if Input.is_action_pressed("ui_down"):


        if animacion_actual != "CHISPA":


            $AnimationPlayer.play("CHISPA")


            animacion_actual = "CHISPA"


    # Acción del motor del juego


    elif Input.is_action_pressed("ui_up"):


        if animacion_actual != "ANDAR":


            $AnimationPlayer.play("ANDAR")


            animacion_actual = "ANDAR"


    # Saltar


    elif Input.is_action_pressed("ui_accept"):


        if animacion_actual != "SALTAR":


            $AnimationPlayer.play("SALTAR")


            animacion_actual = "SALTAR"


    # Moverse hacia la izquierda


    elif Input.is_action_pressed("ui_left"):


        if animacion_actual != "ANDAR":


            $AnimationPlayer.play("ANDAR")


            animacion_actual = "ANDAR"


    # Moverse hacia la derecha


    elif Input.is_action_pressed("ui_right"):


        if animacion_actual != "ANDAR":


            $AnimationPlayer.play("ANDAR")


            animacion_actual = "ANDAR"


    # Animación "BALANCE" en bucle


    else:


        # Comprueba si la animación actual no es "BALANCE" o si no se está reproduciendo ninguna animación

        if animacion_actual != "BALANCE" or not $AnimationPlayer.is_playing():


            $AnimationPlayer.play("BALANCE")


            animacion_actual = "BALANCE"


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

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

EXPLICACION : UN PERSONAJE PLAYER QUE AL PRESIONAR TECLAS FLECHAS AGA 2 MOVIMIENTOS DIFERENTES, PERO QUE SIN PRESIONAR NADA YA TENGA UN MOVIMIENTO EN BUCLE,