Обнаружение столкновений с плитками - PullRequest
0 голосов
/ 24 августа 2011

Хорошо, поэтому я нарисовал плитки на своей карте следующим кодом:

 for (int x = 0; x < WindowsWidth + TextureWidth; x += TextureWidth)
        {
            for (int y = 400; y < WindowsHeight; y += TextureHeight)
            {
                spriteBatch.Draw(Texture, new Rectangle((int)x, (int)y, TextureWidth, TextureHeight), Color.White);
            }
        }

Я надеюсь, что этот код хорош, если нет, я хотел бы услышать ваши комментарии об этом, пожалуйста.

Хорошо, поэтому я не знаю, как я могу сделать обнаружение столкновения прямоугольника с этими плитками и моим игроком.

Прокомментируйте, если вам нужно другое объяснение, спасибо.

1 Ответ

5 голосов
/ 24 августа 2011

Если вы хотите простое обнаружение столкновений прямоугольника, у объектов Rectangle есть действительно хороший способ помочь вам в этом ( Rectangle.Intersects ). Возьмите свои плитки и пересекайте их с прямоугольником вашего персонажа. Вы хотите оптимизировать, чтобы не проверять КАЖДУЮ плитку на карте. Поскольку это звучит так, как будто вы новичок, вам следует ознакомиться с учебными пособиями Ника Грэйвлина. Первая часть здесь на YouTube .

http://msdn.microsoft.com/en-us/library/bb464123.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...