Unity3D声明变量或使用GetComponent

时间:2014-01-30 05:39:17

标签: c# unity3d gameobject

在类级别声明var组件或稍后在代码中使用GetComponent引用它们会更好吗?

示例:

vitals = GetComponent<Vitals>();
weapon = GetComponent<Weapon>();

或者我应该使用

GetComponent<Vitals>.ApplyHealth(25);

哪个更适合性能/内存使用?

1 个答案:

答案 0 :(得分:3)

存储引用更有利于性能,尤其是在经常这样做的情况下。本质上,每次调用getcomponent时,unity必须执行查找以查找组件,这可能非常昂贵且影响性能。如果您要访问每个fupdate,请存储引用。如果您很少访问它,您可以在需要时查找它。