作者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/m.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