2010-02-23 3 views
5

Я нарисовал плитки в своей игре XNA и загрузил свой персонаж. Мой персонаж, однако, не движется - карта делает, что дает ей иллюзию движения. Теперь мне интересно, как на самом деле протестировать их для столкновения. Я имею в виду, куда идет код коллизии, и как сделать все плитки «одной большой вещью»?Столкновение на основе плитки в XNA

+0

Не могли бы вы прояснить ситуацию? то есть. Как вы используете карту плитки в своей игре? Означает ли персонаж одну плиту или несколько фрагментов (a la Tetris)? Разве игровые препятствия занимают несколько плиток? Я немного потерял, так как считаю, что обнаружение столкновения было бы простым способом сравнить положение персонажа с препятствиями на карте плитки, а не на обнаружении столкновений на основе пикселей ... – Syndog

ответ

5

В клубе XNA Creator есть учебник по pixel based collision detection. Вам нужно будет выяснить, какие объекты вы хотите использовать для обнаружения конфликтов. Я думаю, вы хотите, чтобы персонаж переместился через черепичный фон, поэтому вы не хотите проверять наличие конфликта между вашим персонажем и фоном. Вместо этого вы должны делать спрайты с препятствиями и обнаруживать на них столкновения.

+0

Что я знаю, но я не знаю, как тестировать столкновение для этих препятствий, поскольку они представляют собой плитки, которые помещаются в цикл for. – DMan

+0

Я не уверен, что следую. Неважно, как вы рисуете свои текстуры. Вам необходимо определить текстуры, для которых вы хотите выполнить обнаружение столкновений, и применить обнаружение, как описано во включенном файле .htm в образце. –

+0

Ну, так как я рисую каждую текстуру много раз, не нужно ли применять столкновение более одного раза? Если да, то где бы я это сделал - во время кода рисования> – DMan

0

Вы можете взглянуть на Platformer Starter Kit, он показывает, как организовать плитки на карте и проверить наличие коллизий.

+0

Я посмотрел туда, но не смог найти файл класса, в котором произошло столкновение ... – DMan

1

Возможно, вы посмотрите на Nick Gravelyn's Tile Engine Tutorials, он проходит весь процесс создания мозаичного двигателя. Для просмотра всех учебных пособий на YouTube есть ссылка here.

0

Прямоугольники имеют метод пересечений. Если ваш игрок центрирован, и вы знаете координаты, прокрутите другие текстуры и проверьте пересечение перед прокруткой карты.

Смежные вопросы