XNA - Pong Clone - Reflecting ball when it hits a wall?

Posted by toleero on Stack Overflow See other posts from Stack Overflow or by toleero
Published on 2011-01-12T16:29:08Z Indexed on 2011/01/12 16:53 UTC
Read the original article Hit count: 210

Filed under:
|

Hi guys,

I'm trying to make the ball bounce off of the top and bottom 'Walls' of my UI when creating a 2D Pong Clone. This is my Game.cs

public void CheckBallPosition()
{
    if (ball.Position.Y == 0 || ball.Position.Y >= graphics.PreferredBackBufferHeight)
        ball.Move(true);
    else
        ball.Move(false);

    if (ball.Position.X < 0 || ball.Position.X >= graphics.PreferredBackBufferWidth)
        ball.Reset();
}

At the moment I'm using this in my Ball.cs

    public void Move(bool IsCollidingWithWall)
    {
        if (IsCollidingWithWall)
        {
            Vector2 normal = new Vector2(0, 1);
            Direction = Vector2.Reflect(Direction,normal);
            this.Position += Direction;
            Console.WriteLine("WALL COLLISION");
        }
        else
            this.Position += Direction;
    }

It works, but I'm using a manually typed Normal and I want to know how to calculate the normal of the top and bottom parts of the screen?

© Stack Overflow or respective owner

Related posts about c#

Related posts about XNA