Get*_*awn 1 c# unity-game-engine
在javascript中,您可以使用||运算符基本上具有回退值,因此如果前面的语句返回falsey值,则使用后面的值||.
所以,例如这里如果GetComponent返回null,那么我们默认为Vector2.zero
Vector3 velocity = GetComponent<Rigidbody2D>().velocity || Vector2.zero;
Run Code Online (Sandbox Code Playgroud)
有写简写的方法吗?因为有了以上我得到:
运营商'||' 不能应用于'Vector2'和'Vector2'类型的操作数
在C#4中,
Vector3 velocity;
var comp = GetComponent<Rigidbody2D>();
if (comp != null)
velocity = comp.velocity;
else
velocity = Vector2.zero;
Run Code Online (Sandbox Code Playgroud)
也尝试这个版本,看看它是否有效.它更好,如果comp.velocity是Vector2,我希望它会.但我不认识Unity,所以试试吧.
var comp = GetComponent<Rigidbody2D>();
Vector3 velocity = (comp == null) ? Vector2.zero : comp.velocity;
Run Code Online (Sandbox Code Playgroud)
您可以看到为什么?.操作员在将语言添加到语言时会遇到如此大声的hosannas.
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |