Я добрая новичок во всем этом, но я пытаюсь сделать себе простую 2D-игру на C++. Я решил сделать вид игры типа лабиринта, и то, что я делаю для этого, вытаскивает лабиринт как текстуру, а затем имеет другую текстуру, когда мой персонаж перемещается внутри этого лабиринта.простая двумерная обнаружение столкновения C++
Однако я очень сильно борюсь с обнаружением столкновения, чтобы мой персонаж не просто проходил сквозь стены. Мне сказали, что я могу использовать glReadPixels, чтобы найти цвет фона, но всякий раз, когда я пытаюсь это сделать, он просто игнорирует цвет и продолжает продолжаться сквозь стены.
Может кто-нибудь, пожалуйста, помогите мне в этом и скажите мне, как я могу это сделать, поскольку я не могу найти ничего, что может помочь. Спасибо заранее.
Они просто вертикальные и горизонтальные стенки но все это на одной большой текстуре. Как я могу создать массив/матрицу и обновить ее? Я очень плохо знаю, что мне очень жаль. – user1324894
Я бы разбил большую текстуру на маленькие плитки однородного размера (например, стена, дорожка, дверь и т. Д.), Затем динамически смоделировал экран на основе значений в матрице лабиринта (например, значение 0 в матрице представляет собой путь - , 1 - перекрытие стены). Затем вы можете делать все ваши вычисления на матрице и отображать состояние лабиринта на экране - преимущество в том, что оно более гибкое, чем одна большая текстура. Вы можете повторно использовать одни и те же плитки (экономия дискового пространства); динамически менять лабиринт (например, закрытая дверь и открытая дверь); и т. д. – Attila
А я думаю, что я начинаю понимать, откуда вы родом, поэтому это будет квадратный массив меньших текстур, который бы все соответствовал друг другу, чтобы сделать карту? Потому что то, что я делаю в данный момент, рисует его как одну текстуру и перемещает персонажа вокруг, я перемещаю его в одном направлении и в то же время перемещаю карту в противоположном направлении, чтобы иметь возможность передвигаться по ней. Будет ли это так, если я изменил его на массив плиток? – user1324894