Положение стены должно быть чем-то, что вы знаете. Это либо константа, потому что она никогда не движется, либо объект-спрайт, имеющий позицию.

аюсь заставить мяч отскочить от верхних и нижних «стенок» моего пользовательского интерфейса при создании 2D-клона Pong. Это мой 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();
}

На данный момент я использую это в моем 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;
    }

Это работает, но я использую типизированный вручную Нормальный, и я хочу знать, как рассчитать нормаль верхней и нижней частей экрана?

Ответы на вопрос(4)

Ваш ответ на вопрос