Chr*_*ina 0 c# if-statement unity-game-engine
我想为游戏编写一些紧凑的代码。这是原件。
if (killPosX != 0) // float x position you would like the object to be destroyed at
{
killX = true; // automatically makes the value of killX true
}
if (killPosY != 0) // float y position you would like the object to be destroyed at
{
killY = true; // automatically makes the value of killY true
}
if (killPosT != 0) // float position in time you would like the object to be destroyed at
{
killT = true; // automatically makes the value of killT true
}
Run Code Online (Sandbox Code Playgroud)
我想把它变成这样:
if ([killPosX, killPosY, killPosT] != 0)
{
[killPosX, killPosY, killPosT] = true;
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
if (killPosX != 0)
{
killX = true;
}
Run Code Online (Sandbox Code Playgroud)
可以翻译如下
killX = (killPosX != 0) ? true : killX;
Run Code Online (Sandbox Code Playgroud)
或更简单
killX |= killPosX != 0;
Run Code Online (Sandbox Code Playgroud)
if (killPosX != 0)
{
killX = true;
}
else
{
killX = false;
}
Run Code Online (Sandbox Code Playgroud)
可以翻译如下
killX = (killPosX != 0) ? true : false;
Run Code Online (Sandbox Code Playgroud)
或更简单
killX = killPosX != 0;
Run Code Online (Sandbox Code Playgroud)
但是由于不建议使用==或比较浮点数!=,因此我将继续:
killX |= !Mathf.Approximately( killPosX, 0 );
killY |= !Mathf.Approximately( killPosY, 0 );
killT |= !Mathf.Approximately( killPosT, 0 );
Run Code Online (Sandbox Code Playgroud)
AFAIK,没有类似于您为实现所需内容而编写的内置语法。
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |