2012-03-19 60 views
7

¿Hay alguna manera fácil de invertir un número en C# con una función? Estoy usando XNA y me gustaría decirle a mi programa que si mi 'variable' supera un cierto número, tiene que invertir su valor. El objetivo es dar un efecto de rebote.Invertir número en C#

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

Respuesta

27

Sólo golpe un signo - delante de él:

direction.X = -direction.X; 
+0

oh ... no sabía que podíamos hacer esto . Muchas gracias – phadaphunk

+0

¿Esto funcionará como un doble negativo? Si direction.X es -5 y yo aplico direction.X = -direction.X; es direction.X ahora 5? – phadaphunk

+0

@PhaDaPhunk - Sí. No hay problema. –

7

o se puede tratar de usar Vector.X * -1

+0

ballPosition.X * = -1; – CodeHxr

+0

Oye, esto implica un cálculo adicional. – Larry

+0

Tampoco funcionará con long.MinValue, el valor seguirá siendo negativo –