首页 > 解决方案 > 如何修复未在 godot 2d 中播放的翻转动画?

问题描述

我在 Godot 引擎中创建了一个动画精灵,目前它由 2 个空闲动画帧和 3 个运行动画帧组成。我试图让它当玩家按下'd'时精灵向右播放并向右播放运行动画,当玩家按下'a'时精灵向左播放运行动画但我使用翻转动画

animator.flip_h = true

但是当我运行它时,当我不按任何东西时,空闲动画播放得很好,左侧动画也播放得很好,精灵向左翻转并播放跑步动画,但是当我按下右时,精灵不播放跑步动画,只是挂在当前状态并向右移动。请帮我解决这个问题......这是代码

extends KinematicBody2D

onready var animator = $AnimatedSprite
export(float) var speed = 10

func _ready():
    pass

func _physics_process(_delta):
    var motion = vec2()
    if Input.is_action_pressed("right"):
        motion.x += 1
        animator.play("run")
        animator.flip_h = false

    elif Input.is_action_pressed("left"):
        motion.x -= 1
        animator.play("run")
        animator.flip_h = true

    else:
        animator.play("idle")
    motion = motion.normalized()*speed
    motion = move_and_slide(motion)

标签: animationgame-developmentgodotgdscript

解决方案


推荐阅读