[请益] Unity如何使用string指定GameObject

楼主: kons (kons)   2020-12-13 03:26:02
假设我想做火球术的特效,所以做了一个火球,设成prefab,
然后施放法术的脚本设了GameObject fireball,然后把火球的prefab拉进去,
当我使用法术的时候,就生成火球。
然而,我每一个法术都有自己的特效,所以希望在放特效时,
可以从法术类别里的物件找到特效ID or 文字,丢到生成动画的function,
于是
Instantiate(effectName, transfrom.position, Quaternion.identity);
effectName要生成的物件,一定要填我GameObject的名字,不能填string字串,
但我又不想每个法术写一个施放的function,
所以,请问该怎么处理比较好呢?谢谢。
作者: lovecold (小猪头)   2020-12-13 10:52:00
Resources.Load
作者: oopFoo (3d)   2020-12-13 11:52:00
是这个吗 Type.getType()
作者: SecondRun (雨夜琴声)   2020-12-13 12:27:00
Resources要高级点就读表然后用entity组出来
作者: aegis123321 (PE)   2020-12-13 15:31:00
其实不建议用字串 这样改名的时候反而害到自己不想用update的话可以了解一下coroutine
作者: kingroy (手残总比脑残好)   2020-12-13 16:47:00
如果要物理运算建议都在FixedUpdate里做把函数统一放在一个update或fixedupdate里其实是好事执行的先后顺序可以控制到
作者: ZooseWu (N5)   2020-12-13 20:19:00
便宜行事就是Resources.Load 不过听说效能不佳
作者: SecondRun (雨夜琴声)   2020-12-13 23:02:00
很新手的话可以先不用管效能问题啦XD真的会lag的话应该都是做了什么不得了的事

Links booklink

Contact Us: admin [ a t ] ucptt.com