作者kons (kons)
看板GameDesign
标题[请益] Animator找不到bool值
时间Wed Nov 25 03:59:57 2020
之前使用Animator设定角色动作,用起来没什麽问题,
後来想要使用在UI上面,
大致想实现效果是,当变数不同时,会显示不同的UI(icon),
然後就用bool值去控制,但是测试时一直报错说找不到bool值,
我反覆检查好几次,都确认没有填错,大小写也注意了。
https://i.imgur.com/5manaSe.jpg
请问会是因为Animator不能使用在UI层上面吗?
还是又需要什麽错综复杂的继承关系呢?
谢谢。
--
身为一个
鲁蛇,今後我再也不跟女生告白了。
因为
量子力学告诉我们,在进行决定状态的动作之前,
每个女生都是处於
喜欢我与
不喜欢我两种叠加的暧昧状态中。
~~ 薛丁格的正妹Line ID:kons0815
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.177.32.178 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1606248000.A.234.html
1F:推 wix3000: 看起来正常,u有没有可能是你的 Animator 引用错误 11/25 06:23
2F:→ LayerZ: 题外话,anystate用bool控制会... 11/25 10:50
感谢大大们指引方向。
解决了,我是照抄原本控制角色移动的脚本
animator = GetComponent<Animator>();
用这一句来调用控制器,然而当有两个以上的控制器时,程式就无法判断是哪一个。
所以应该是调用到了第一个控制器,才会造成找不到bool。
把原本的脚本修改成
animator = GameObject.Find("moodFace").GetComponent<Animator>();
动画就可以正常运行了。
是说昨天找了一整个晚上,网路的教学都只有写,
animator = GetComponent<Animator>();
没有说不同控制器的调用方法,所以我就傻傻地以为这句万用。
※ 编辑: kons (180.177.32.178 台湾), 11/25/2020 14:50:20
3F:推 wix3000: 是说你为什麽不直接用拉的 :P? 11/25 17:04
4F:→ kons: 蛤?用拉的是甚麽意思? 11/25 19:15
5F:→ SecondRun: [SerializedField] Animator animator; 11/25 20:03
6F:推 wix3000: public Animator animator; 11/25 21:07
7F:→ kons: 一开始我有宣告Animator了,但就会出现原本的问题 11/26 00:37
8F:→ sirius65482: 你去Inspector视窗把moodFace拉到Animator变数格子上 11/26 00:42
9F:→ kons: 有拉啊,原文附的图右边那个吗? 11/26 01:07
11F:→ kons: 原来如此,感谢指导。 11/26 14:36
12F:推 LPH66: 然後顺带解释一下, 直接叫用 GetComponent 是会抓自己的 11/28 04:28
13F:→ LPH66: 它前面有一个隐含的 this. 所以会取得挂在自己身上那个 11/28 04:29