c# - Unity3D 声明变量或使用 GetComponent

标签 c# unity-game-engine gameobject

是在类级别声明 var 组件更好,还是稍后在代码中使用 GetComponent 引用它们更好?

示例:

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

或者我应该使用

GetComponent<Vitals>.ApplyHealth(25);

哪个对于性能/内存使用更好?

最佳答案

存储引用可以提高性能,特别是如果经常这样做的话。本质上,每次调用 getComponent 时,Unity 都必须执行查找来查找组件,这可能非常昂贵并且会影响性​​能。如果您每次 fupdate 都访问此内容,请存储一个引用。如果您很少访问它,则可以在需要时查找它。

关于c# - Unity3D 声明变量或使用 GetComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21448698/

相关文章:

c# - JSON反序列化——String自动转为Int

c# - New-AzurePIMRequest 作为 .net 函数?

c# - 尝试访问 asp.net 中继器内的按钮

3d - 获取3D模型指定方向上最远的顶点 - Unity

java - Mopub Unity Android 在启动时崩溃

c# - 如何使用 Unity3D 中的脚本让两个游戏对象面对面

c# - 将游戏对象动态添加到 Unity3d 中的场景

C# 到 VB.NET 数组初始化

ios - Oculus 唇形同步 iOS 支持

c# - 仅在 Z 轴上旋转游戏对象 C#