Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
unity C#:如何在if语句中将整数设置为负数_C#_Unity5_Unity3d 2dtools - Fatal编程技术网

unity C#:如何在if语句中将整数设置为负数

unity C#:如何在if语句中将整数设置为负数,c#,unity5,unity3d-2dtools,C#,Unity5,Unity3d 2dtools,我声明了一个名为RandomX和RandomY的变量。我使用随机生成器函数返回一个介于-1到1之间的随机数。然后我使用if语句检查生成的数字。如果生成的数字(RandomX或RandomY)小于-0.4,那么我想将变量movementX设置为-1。如果数字大于0.4,我将把变量movementX设置为1。如果这两个都不是真的,我想将值设置为0 这就是我所拥有的,但出于某种原因,如果数字小于-0.4,而不是将数字设置为-1,则会将数字设置为0。我错过了什么 float randomX = Rand

我声明了一个名为RandomX和RandomY的变量。我使用随机生成器函数返回一个介于-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;
}
float randomX=Random.Range(-1f,1f);
如果(随机X<-0.4)
{
movementX=(-1);
}
如果(随机X>0.4)
{
movementX=movementX*-1;
}
其他的
{
movementX=0;
}
randomY=随机范围(-1f,1f);
调试日志(随机);
如果(随机<-0.4)
{
movementY=-1;
}
如果(随机性>0.4)
{
movementY=1;
}
其他的
{
movementY=0;
}
问题就在这里

if (randomX < -0.4)
{
    movementX = -1;
}
它将检查新值是否小于现在的
0.4
。此外,当您的输入大于0.4时,如果我理解正确,则应返回1

写下以下内容:

if (randomX < -0.4)
{
    movementX = -1;
}
else if (randomX > 0.4)
{
    movementX = 1;
}
else 
{
    movementX = 0;
}
if(randomX<-0.4)
{
movementX=-1;
}
否则如果(随机X>0.4)
{
movementX=1;
}
其他的
{
movementX=0;
}
问题就在这里

if (randomX < -0.4)
{
    movementX = -1;
}
它将检查新值是否小于现在的
0.4
。此外,当您的输入大于0.4时,如果我理解正确,则应返回1

写下以下内容:

if (randomX < -0.4)
{
    movementX = -1;
}
else if (randomX > 0.4)
{
    movementX = 1;
}
else 
{
    movementX = 0;
}
if(randomX<-0.4)
{
movementX=-1;
}
否则如果(随机X>0.4)
{
movementX=1;
}
其他的
{
movementX=0;
}

这对我很有效。我确实需要更改代码的一部分。else if(randomX>0.4){movementX=movementX*-1;}需要更改为just movementX=-1。如果randomX大于0.4且小于0.4,则将其设置为-1。谢谢你让我走上正轨!我已经假设了这一点,但您在问题中根本没有提到这一点,因此我无法确保这一点,并停留在您在代码中编写的内容上。请参阅我的更新,如果您的输入大于0.4,您还忘了将结果设置为1,我相应地对其进行了更改。这对我很有效。我确实需要更改代码的一部分。else if(randomX>0.4){movementX=movementX*-1;}需要更改为just movementX=-1。如果randomX大于0.4且小于0.4,则将其设置为-1。谢谢你让我走上正轨!我已经假设了这一点,但您在问题中根本没有提到这一点,因此我无法确保这一点,并停留在您在代码中编写的内容上。请参阅我的更新,如果您的输入大于0.4,您还忘了将结果设置为1,我相应地对其进行了更改。当您的输入介于-0.4和0.4之间时,会发生什么情况?Shell是否保持不变?当您的输入介于-0.4和0.4之间时会发生什么情况?能保持原样吗?