164,326
社区成员
发帖
与我相关
我的任务
分享
个人也不知道写点啥,实习生一枚,就最近实习中最大感触的几点一次和大家分享,希望对大家有所帮助
可以通过缓存的方法,在Start或Awake时缓存一次找到的对象,在后面调用的时候可以直接得到属性。
而不会再一次调用GetComponent去遍历组件(如Transform、Image等),然后再一次去遍历所需要的参数。
这样每次遍历很耗时间,而缓存的方式就是将定义的值作为索引直接指向所需要的东西
...
private GameObject ob;
private Transform tran;
private Vector3 v3;
void Start()
{
tran = transform;
v3 = new Vector3(1,1,1);
}
void Test()
{
ob.tran.position = v3;
///以上的缓存方式相对一下的调用GetComponent时间上会有很客观的改善
///ob.GetComponent<Transform>().position = Vector3(1,1,1)
}
这样做就好比在一个水果篮里找到了你需要的苹果放在一旁,当你想吃的时候直接就可以拿到了,而不用再去水果篮里找苹果