C # XNA вводит дома

#c# #xna #playback #role

#c# #xna #воспроизведение #Роль

Вопрос:

Я создаю ролевую игру на C #, используя XNA. У меня уже есть карта и кое-что еще, но в данный момент это неинтересно. Мой вопрос таков: как я могу предоставить игроку возможность входить в дома или комнаты?

Для создания миров я использовал стандартные int-массивы, где каждое число представляет другой тип плитки. Все это работает нормально, но дом не доступен для ввода, а представляет собой сплошной текстурированный блок из чего-либо.

Кстати, я использовал Вектор3, чтобы определить, в каком мире игрок находится в данный момент и какой из них программа должна загрузить следующим.

Есть предложения, как я могу сделать дома доступными для ввода?

Комментарии:

1. прямоугольник срабатывает перед дверями, который срабатывает, когда вы наступаете на него … затем вы можете выбрать, входить или продолжать блуждать.

Ответ №1:

Один из простых способов сделать дома доступными для ввода — создать объект триггера у двери дома. Этот объект может быть простым прямоугольником вместе с идентификатором.

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

Когда игрок вводит этот триггер, вы можете изменить отображаемую карту на новую (интерьер дома) и переместить игрока туда, куда должна вести дверь.

Ответ №2:

Если вы используете C # для создания игры, возможно, вам захочется переключиться на MonoGame (которая практически является преемницей XNA, поскольку XNA мертва) или Unity.

Как упоминалось ранее, ваш лучший вариант в XNA — создать прямоугольник, который сработает при столкновении и изменит игровой мир.

Комментарии:

1. Спасибо за информацию о MonoGame, я только что скачал ее 😉