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

时间:2016-02-24 07:32:36

标签: c# unity5 unity3d-2dtools

我已经声明了一个名为RandomX和RandomY的变量。我使用随机生成器函数返回介于-1到1之间的随机数。然后使用if语句检查生成的数字。如果生成的数字(RandomX或RandomY)小于-0.4,那么我想将变量movingX设置为-1。如果数字大于0.4,我将变量movementX设置为1.如果这些都不是真的我想将值设置为0.

这是我所拥有的,但由于某种原因,如果数字小于-0.4而不是将数字设置为-1,则将数字设置为0.我缺少什么?

true

1 个答案:

答案 0 :(得分:3)

问题出在这里。

if (randomX < -0.4)
{
    movementX = -1;
}

如果条件适合,请在此处指定-1。但之后你会这样做:

if (randomX > 0.4)
{
    movementX = movementX * -1;
}
else 
{
    movementX = 0;
}

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

改为写下:

fp = open("data.txt","r")
# fp is file1
data = fp.read()
f = open('workfile.txt', 'rw+')
#f is file2 on which you want to write data
ss = f.readlines()
f.seek(0)
f.truncate()
ss.insert(5,data)
#give your own line number instead of 5
f.write(''.join(ss))