unity C#:如何在 if 语句中将整数设置为负数
unity C#: how to set an integer to a negative number inside an if statement
我已经声明了一个名为 RandomX 和 RandomY 的变量。我使用随机生成器函数 return 一个介于 -1 到 1 之间的随机数。然后我使用 if 语句检查生成的数字。如果生成的数字(RandomX 或 RandomY)小于 -0.4,那么我想将变量 movementX 设置为 -1。如果数字大于 0.4,我要将变量 movementX 设置为 1。如果这些都不成立,我想将值设置为 0。
这是我所拥有的,但出于某种原因,如果数字小于 -0.4 而不是将数字设置为 -1,而是将数字设置为 0。我错过了什么?
float randomX = Random.Range (-1f,1f);
if (randomX < -0.4)
{
movementX = (-1);
}
if (randomX > 0.4)
{
movementX = movementX * -1;
}
else
{
movementX = 0;
}
randomY = Random.Range (-1f,1f);
Debug.Log (randomY);
if (randomY < -0.4)
{
movementY = -1;
}
if (randomY > 0.4)
{
movementY = 1;
}
else
{
movementY = 0;
}
问题就在这里
if (randomX < -0.4)
{
movementX = -1;
}
如果条件满足,您在这里分配 -1
。但是之后你这样做:
if (randomX > 0.4)
{
movementX = movementX * -1;
}
else
{
movementX = 0;
}
这将检查新值是否小于 0.4
现在显然是这样。此外,当您的输入大于 0.4 时,如果我理解正确的话,它应该 return 1 。
改为这样写:
if (randomX < -0.4)
{
movementX = -1;
}
else if (randomX > 0.4)
{
movementX = 1;
}
else
{
movementX = 0;
}
我已经声明了一个名为 RandomX 和 RandomY 的变量。我使用随机生成器函数 return 一个介于 -1 到 1 之间的随机数。然后我使用 if 语句检查生成的数字。如果生成的数字(RandomX 或 RandomY)小于 -0.4,那么我想将变量 movementX 设置为 -1。如果数字大于 0.4,我要将变量 movementX 设置为 1。如果这些都不成立,我想将值设置为 0。
这是我所拥有的,但出于某种原因,如果数字小于 -0.4 而不是将数字设置为 -1,而是将数字设置为 0。我错过了什么?
float randomX = Random.Range (-1f,1f);
if (randomX < -0.4)
{
movementX = (-1);
}
if (randomX > 0.4)
{
movementX = movementX * -1;
}
else
{
movementX = 0;
}
randomY = Random.Range (-1f,1f);
Debug.Log (randomY);
if (randomY < -0.4)
{
movementY = -1;
}
if (randomY > 0.4)
{
movementY = 1;
}
else
{
movementY = 0;
}
问题就在这里
if (randomX < -0.4)
{
movementX = -1;
}
如果条件满足,您在这里分配 -1
。但是之后你这样做:
if (randomX > 0.4)
{
movementX = movementX * -1;
}
else
{
movementX = 0;
}
这将检查新值是否小于 0.4
现在显然是这样。此外,当您的输入大于 0.4 时,如果我理解正确的话,它应该 return 1 。
改为这样写:
if (randomX < -0.4)
{
movementX = -1;
}
else if (randomX > 0.4)
{
movementX = 1;
}
else
{
movementX = 0;
}