戈多结束动作带动画

问题描述 投票:0回答:1

我正在使用给定的 godot 2D 平台游戏运动并制作了我自己的自定义输入。其中一张是幻灯片。当进行滑动输入时,它会播放滑动动画并提高速度。动画结束时,角色站了起来。如何让角色停止动画并在完成后将速度恢复正常。

and not(Input.is_action_pressed("slide")):
    velocity.y = JUMP_VELOCITY

var direction = Input.get_axis("left", "right")

if direction > 0:
    animated_sprite.flip_h = false
elif direction < 0:
    animated_sprite.flip_h = true

if direction == 0:
    animated_sprite.play('default')
else:
    if Input.is_action_pressed("slide"):
        animated_sprite.play("slide")
        animation_player.play("slide")
        SPEED = 150.0
    else:
        animated_sprite.play("run")
        animation_player.play("RESET")
        SPEED = 120.0

if direction:
    velocity.x = direction * SPEED
else:
    velocity.x = move_toward(velocity.x, 0, SPEED)

move_and_slide()

请随时提问以获取更多信息。

2d game-development godot
1个回答
0
投票

您可以使用“调用方法”动画轨道直接从动画关键帧调用函数。 Brackeys 的新视频教程在此展示了这一点:https://youtube.com/watch?v=LOhfqjmasi0&t=4398

您也可以使用

await
关键字等待
animation_finished
信号:

if Input.is_action_just_pressed("slide"):
    animation_player.play("slide")
    SPEED = 150.0
    await animation_player.animation_finished
    SPEED = 120.0
© www.soinside.com 2019 - 2024. All rights reserved.