纳金网
标题:
很占资源的findGameObjectWithTag
[打印本页]
作者:
烟雨
时间:
2013-6-30 14:50
标题:
很占资源的findGameObjectWithTag
都说这个find的语句很占资源,不知道大家需要用到这类似这个功能的时候是用什么替代的,举个例子
private enemy other;
void Update ()
{
GameObject[] enemys = GameObject.FindGameObjectsWithTag("Player");
foreach (GameObject enemy in enemys)
{
other = enemy.GetComponent<enemy>();
print(other.mov_x);
}
}
像这种有多个敌人的除了这种find语句还有什么好的方法?
作者:
毛毛虫
时间:
2013-8-17 11:25
1、如果一开始就可以找打所有Tag=="Player"的object,这个find语句最好放在awake或者start里
2、如果Tag=="Player"的object是在运行后随机产生的,那么实例化这个object时就可以获取它,也就麽有必要再find了
拙见而已
作者:
nobodyland
时间:
2013-8-17 11:38
楼上正解,缓存所有需要进行全场景查找的GameObject是提高性能性价比很高的做法。极端点还可以以把查找对象改为Static Getter,这样不管有多少实例也只要做一次查找就行了。
欢迎光临 纳金网 (http://rs.narkii.com/club/)
Powered by Discuz! X2.5