Tilemap - необходим слой столкновений?

Я создаю игру с двухмерной прокруткой, и у меня есть вопрос относительно столкновения. Я читал различные статьи, и в некоторых из них говорится, что у вас должен быть слой столкновений, который в точности совпадает со стилем слоя тайлов, но просто хранит биты. Я понимаю эту логику, но что, если мои плитки на самом деле являются структурами, которые содержат свойство с именем IsSolid. Могу я просто не проверить, isSolid_ текущий тайл вместо другого слоя? Или наличие слоя столкновений дает дополнительные преимущества, которые я упустил?

Спасибо за любую помощь


person Skoder    schedule 10.08.2010    source источник
comment
Привет, вам может быть лучше задавать вопросы о разработке игр на gamedev.stackexchange.com (чтобы не сказать, что здесь это неактуально, но это намного с большей вероятностью будет замечен группой людей с опытом в области разработки игр, если вы спросите об этом там)   -  person Smashery    schedule 10.08.2010
comment
Привет. Спасибо за ссылку, я не понимал, что на StackExchange есть игра для разработчиков. Я думаю, что столкнулся с общими играми и решил, что это единственное, что связано с играми.   -  person Skoder    schedule 10.08.2010


Ответы (1)


На самом деле это важно только в том случае, если ваша игра поддерживает несколько уровней.

Если у вас есть несколько визуальных слоев (например: фон, игровое поле, передний план), может быть полезно иметь возможность обрабатывать все эти слои одинаковым образом. Разделение данных о столкновении может быть структурно "приятным".

Как вы это сделаете, зависит от вас. Вы можете реализовать отдельный слой столкновений, который вы можете редактировать отдельно. Однако я не рекомендую этого делать, потому что тогда вы должны поддерживать синхронизацию слоя столкновений с визуальным слоем «игрового поля».

Лучшее решение - при загрузке уровня динамически сгенерировать «слой» столкновения путем извлечения данных из вашего слоя игрового поля (и, возможно, других слоев, если это имеет смысл для вашей игры). Вы, вероятно, сохраните этот «слой» в совершенно другом формате и поместите его в визуальные данные уровня.

person Andrew Russell    schedule 10.08.2010