作者justatree (justatree)
看板GameDesign
標題[請益] Unity 如何在腳本中使用另外一個腳本
時間Fri Aug 9 11:50:45 2019
如題
我想在C#專案中使用另一個C#專案已經宣告好的物件
想用同一個 而不是再宣告一個
https://imgur.com/kSGt616
https://imgur.com/hfq773a
我正在練習血量的顯示
想結合陳間時光 和 阿葉所教的東西
https://www.youtube.com/watch?v=rEzZUwsKnuI
https://www.youtube.com/watch?v=AS5Je4ok1NY
我將
阿葉所寫的
this.transform.localPosition = new Vector3(-173 + 173 * (hp / mixhp), 0f, 0f);
寫在內建的void Update()中
再將ma C#塞入 生命數值 和 血條裡面
https://imgur.com/ruJE7UG
但只有生命數值會依照血量的增加而移動
所以才想說要做成兩個C#
但我在C#裡面宣告的public void HPt()
沒有出現在Unity的button裡面
滑鼠按一下() 下面按+號鈕 再將ma C#塞進去 也沒有出現HPt()
https://imgur.com/jCaz66u
求解答QQ
請問各位大神有其他更優化方法嗎QQ?
-----更新
我原本以為是要從Image下方的血條動手 將C#放入血條
結果錯了
是要新宣告image我是用bar
將this.transform.localPosition改成bar.transform.localPosition
然後將生命數值裡面的C# bar將血條放入其中
這樣就能在增加血量的時 血條也漸漸回滿
但我還是不知道要怎麼 在C#專案中使用另一個C#專案已經宣告好的物件
還請各外大大解答QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.77.135.69 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1565322648.A.64A.html
※ 編輯: justatree (119.77.135.69 臺灣), 08/09/2019 12:56:51
1F:推 amsmsk: 這樣看起來把ma也拖上去就可以選了吧 08/09 13:11
我將ma放入生命數值上過 但Button還是沒有出現HPt()
※ 編輯: justatree (119.77.135.69 臺灣), 08/09/2019 14:45:01
2F:推 anterior: 沒用過GUI不太懂你的意思 08/09 18:53
3F:→ anterior: 不過要用從一個script呼叫另一個script的函式可以用getc 08/09 18:54
4F:→ anterior: omponent 08/09 18:54
5F:推 anterior: 例: Scriptname sn = gameobject.Getcomponent<Scriptna 08/09 18:55
6F:→ anterior: me>() 08/09 18:55
7F:→ anterior: sn.Funtion() 這樣就可以了 function要public 08/09 18:57
不太懂你的意思 但是非常感謝 我會再查查Getcomponent怎麼用
※ 編輯: justatree (119.77.135.69 臺灣), 08/09/2019 20:12:50
8F:推 wix3000: 你拉到程式碼本身了,程式碼要拉到物件上進行『實例化』 08/09 23:03
9F:→ wix3000: 通俗一點的講,就是讓他『出生在世界上』,你才能指定他 08/09 23:03
我搞懂你意思了! 非常感謝
我要把層級中有ma程式碼的物件拖進去 選擇才會出來 而不是拉程式碼本身
※ 編輯: justatree (119.77.135.69 臺灣), 08/10/2019 10:22:10
12F:推 bill21010: 提個我覺得很重要的點…可以的話變數名方法名class名 08/10 10:32
13F:→ bill21010: 都盡量有意義且好讀,譬如說showHpBar之類的,雖然我也 08/10 10:32
14F:→ bill21010: 不太懂不過網路上也不少資料可以參考 08/10 10:32
15F:→ bill21010: 以上題外話 08/10 10:33
感謝建議 正在學習中
※ 編輯: justatree (119.77.135.69 臺灣), 08/10/2019 10:37:01