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