【问题标题】:Unity C# Play an animation once on keyUnity C# 在按键上播放一次动画
【发布时间】:2023-02-24 14:42:45
【问题描述】:

我有 2 个名为“attacking_1”和“attacking_2”的攻击动画,我想在玩家按一次“C”键时随机播放一个。我希望动画继续播放到最后一帧,而玩家无需按住 C 键。

这是我的代码,发生的事情是这段代码每帧运行一次,让我的播放器在按下 C 键时显示两个攻击动画。

我不明白的是为什么即使玩家只按一次 C 键,if 语句也会执行多次。

   if (Input.GetKey(KeyCode.C))
    {
        int random = Random.Range(1, 3);
        Debug.Log(random);
        anim.SetBool("attacking_" + random.ToString(), true);
    }

【问题讨论】:

    标签: c# unity3d unityscript


    【解决方案1】:

    输入.GetKey()“ 检查按钮是否每帧都被按下并每帧运行一次。你需要的是 “输入.GetKeyDown()“ 仅在按下的第一帧运行它

    希望这可以帮助!

    【讨论】:

    • 谢谢,出于某种原因,我一直认为 GetKeyDown 意味着按住键
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多