作者kons (kons)
看板GameDesign
標題[請益] Unity如何使用string指定GameObject
時間Sun Dec 13 03:26:02 2020
假設我想做火球術的特效,所以做了一個火球,設成prefab,
然後施放法術的腳本設了GameObject fireball,然後把火球的prefab拉進去,
當我使用法術的時候,就生成火球。
然而,我每一個法術都有自己的特效,所以希望在放特效時,
可以從法術類別裡的物件找到特效ID or 文字,丟到生成動畫的function,
於是
Instantiate(
effectName, transfrom.position, Quaternion.identity);
effectName要生成的物件,一定要填我GameObject的名字,不能填string字串,
但我又不想每個法術寫一個施放的function,
所以,請問該怎麼處理比較好呢?謝謝。
--
至今我仍然深深相信,我是個
帥哥,不過是
量子力學定義中的
帥哥。
當沒人觀測我的時候,我肯定是全地球最帥的男人。
Line:kons0815
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.32.178 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1607801166.A.245.html
1F:推 lovecold: Resources.Load 12/13 10:52
2F:推 oopFoo: 是這個嗎 Type.getType() 12/13 11:52
3F:→ SecondRun: Resources 12/13 12:27
4F:→ SecondRun: 要高級點就讀表然後用entity組出來 12/13 12:28
5F:推 aegis123321: 其實不建議用字串 這樣改名的時候反而害到自己 12/13 15:31
感謝大家的建議,現在面臨另一個問題,
生成出來的物件,似乎要放在update裡面,它才會持續飛(移動),
或是把 xxxxx(); 放在update讓它隨時呼叫更新,這又變得有點難控制。
※ 編輯: kons (180.177.32.178 臺灣), 12/13/2020 15:45:17
6F:推 aegis123321: 不想用update的話可以了解一下coroutine 12/13 16:24
7F:推 kingroy: 如果要物理運算建議都在FixedUpdate裡做 12/13 16:47
8F:→ kingroy: 把函數統一放在一個update或fixedupdate裡其實是好事 12/13 16:48
9F:→ kingroy: 執行的先後順序可以控制到 12/13 16:49
10F:→ ZooseWu: 便宜行事就是Resources.Load 不過聽說效能不佳 12/13 20:19
11F:推 SecondRun: 很新手的話可以先不用管效能問題啦XD 12/13 23:02
12F:→ SecondRun: 真的會lag的話應該都是做了什麼不得了的事 12/13 23:03