按住Input.GetMouseButtonDown(0)是否持续将BOOL设置为TRUE



嗨,我目前正在制作一个攻击动画,当鼠标按钮(0(或左键单击只被用于一次单击而没有按住时,所以当我在鼠标上单击左键时,一切都很好,但当我按住它时,动画会继续,但会在动画剪辑的最后一个剪辑上停止,除非我释放鼠标的左键单击,这将我的攻击动画设置为true,一切都恢复正常

那么我该怎么办呢?

这是我的视频链接,所以我可以很好地向你们描述它,我希望有人能帮助我:(。

https://streamable.com/wfnw5f

if(Input.GetMouseButtonDown(0))
{
anim.SetBool("attack", true);
}
if(Input.GetMouseButtonUp(0) )
{
anim.SetBool("attack", false);
} 

一旦为true,就需要将其设置为false。幸运的是,触发器正是这样做的。

使攻击成为触发器而不是布尔,然后使用SetTrigger而不是SetBool

来自文件:

与具有相同true/false选项的布尔不同,触发器有一个true选项,该选项会自动返回false一个典型的例子可能是有一个跳转选项。如果在运行时输入此选项,则字符将跳转。在跳跃结束时,上一个动作(可能是步行或跑步状态(将返回。

最新更新