[請益] Animator找不到bool值

看板GameDesign (遊戲設計)作者 (kons)時間4年前 (2020/11/25 04:00), 4年前編輯推噓5(508)
留言13則, 6人參與, 4年前最新討論串1/1
之前使用Animator設定角色動作,用起來沒什麼問題, 後來想要使用在UI上面, 大致想實現效果是,當變數不同時,會顯示不同的UI(icon), 然後就用bool值去控制,但是測試時一直報錯說找不到bool值, 我反覆檢查好幾次,都確認沒有填錯,大小寫也注意了。 https://i.imgur.com/5manaSe.jpg
請問會是因為Animator不能使用在UI層上面嗎? 還是又需要什麼錯綜複雜的繼承關係呢? 謝謝。 -- 身為一個魯蛇,今後我再也不跟女生告白了。 因為量子力學告訴我們,在進行決定狀態的動作之前, 每個女生都是處於喜歡我不喜歡我兩種疊加的曖昧狀態中。 ~~ 薛丁格的正妹Line ID:kons0815 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.32.178 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1606248000.A.234.html

11/25 06:23, 4年前 , 1F
看起來正常,u有沒有可能是你的 Animator 引用錯誤
11/25 06:23, 1F

11/25 10:50, 4年前 , 2F
題外話,anystate用bool控制會...
11/25 10:50, 2F
感謝大大們指引方向。 解決了,我是照抄原本控制角色移動的腳本 animator = GetComponent<Animator>(); 用這一句來調用控制器,然而當有兩個以上的控制器時,程式就無法判斷是哪一個。 所以應該是調用到了第一個控制器,才會造成找不到bool。 把原本的腳本修改成 animator = GameObject.Find("moodFace").GetComponent<Animator>(); 動畫就可以正常運行了。 是說昨天找了一整個晚上,網路的教學都只有寫, animator = GetComponent<Animator>(); 沒有說不同控制器的調用方法,所以我就傻傻地以為這句萬用。 ※ 編輯: kons (180.177.32.178 臺灣), 11/25/2020 14:50:20

11/25 17:04, 4年前 , 3F
是說你為什麼不直接用拉的 :P?
11/25 17:04, 3F

11/25 19:15, 4年前 , 4F
蛤?用拉的是甚麼意思?
11/25 19:15, 4F

11/25 20:03, 4年前 , 5F
[SerializedField] Animator animator;
11/25 20:03, 5F

11/25 21:07, 4年前 , 6F
public Animator animator;
11/25 21:07, 6F

11/26 00:37, 4年前 , 7F
一開始我有宣告Animator了,但就會出現原本的問題
11/26 00:37, 7F

11/26 00:42, 4年前 , 8F
你去Inspector視窗把moodFace拉到Animator變數格子上
11/26 00:42, 8F

11/26 01:07, 4年前 , 9F
有拉啊,原文附的圖右邊那個嗎?
11/26 01:07, 9F

11/26 11:18, 4年前 , 10F
11/26 11:18, 10F

11/26 14:36, 4年前 , 11F
原來如此,感謝指導。
11/26 14:36, 11F

11/28 04:28, 4年前 , 12F
然後順帶解釋一下, 直接叫用 GetComponent 是會抓自己的
11/28 04:28, 12F

11/28 04:29, 4年前 , 13F
它前面有一個隱含的 this. 所以會取得掛在自己身上那個
11/28 04:29, 13F
文章代碼(AID): #1VlMP08q (GameDesign)
文章代碼(AID): #1VlMP08q (GameDesign)