C#中的数字反转

13

有没有一种简单的方法在C#中倒转一个数字? 我正在使用XNA,并且想要告诉我的程序,如果我的“变量”超过了某个数字,它必须倒转其值。 整个重点是给一个反弹效果。

有没有一个函数可以轻松地实现这个功能?

     if (ballPosition.X >= screenWidth)
                {
                    // Invert the ball Direction Vector.X
                }
2个回答

44

在它之前加上一个 - 符号:

direction.X = -direction.X;

1
哦...我不知道我们可以这样做。非常感谢。 - phadaphunk
这个双重否定会起作用吗? 如果direction.X是-5,我应用 direction.X = -direction.X; 现在direction.X是5吗? - phadaphunk
1
@PhaDaPhunk - 是的。没问题。 - Andrew Cooper

10

或者你可以尝试使用Vector.X * -1。


嘿,这意味着需要进行额外的计算。 - Larry
它也无法使用long.MinValue,值仍将为负数。 - Pawel Cioch
@PawelCioch 因为我记得它会溢出。 - M. Mimpen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接