Пожалуйста, дайте больше в следующий раз.Это 2D игра сверху вниз?Я предполагаю, что так.
Есть несколько способов, в зависимости от того, что вы хотите сделать, и уровня детализации.
Если комнаты почти все прямоугольные, вы можете просто увидеть, еслиобъект полностью содержится внутри них.
Если нет, вы могли бы использовать алгоритмы rect-intersects-line, или вы могли бы превратить карту в один большой путь (при этом центр пути был либо пустым, либо нет)и используйте IsPointInPath
(я бы посоветовал сделать свой собственный, но не использовать Canvas '), чтобы увидеть, все ли несколько ключевых точек геометрии игрока находятся внутри (или снаружи)
Наконец, если вы хотите *При столкновении 1010 * на пиксель вы должны создать упрощенную черную PNG-карту (или что-то подобное) вашего уровня и использовать холст-призрак, как я делаю для проверки удара здесь. Затем протестируйте несколько пикселейна силуэт игрока и посмотреть, являются ли они черными или нет.Если кто-либо из них не чёрный, игрок вышел за пределы!