Unity 2D动画开发遇CS1061报错:Animator无setFloat定义如何解决
错误原因
你遇到的CS1061报错是代码调用了目标类不存在的方法导致的。Unity的Animator类中设置浮点类型参数的方法名为首字母大写的SetFloat,你写的小写开头的setFloat不是该类的合法方法,因此编译器无法识别抛出错误。
你可以参考自己代码中其他Animator相关调用的写法,比如_spriteAnimator.SetBool("isRunning", false)就是符合命名规范的正确写法,C#官方及Unity内置的公开方法统一采用帕斯卡命名法,即每个单词的首字母大写。
修复方案
直接修改第59行的代码,将方法名首字母改为大写即可:
animator.SetFloat("Speed", Mathf.Abs(horizontal));
内容的提问来源于stack exchange,提问作者NobleGoldfish
相关产品推荐
相关产品推荐

