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