Tilemap - Необходим ли е слой за сблъсък?

Създавам 2d игра със странично превъртане и имам въпрос относно сблъсъка. Четох различни статии и някои от тях казват, че трябва да имате слой за сблъсък, който е точно в същия стил като слоя с плочки, но просто съхранява битове. Разбирам тази логика, но какво ще стане, ако моите плочки всъщност са структури, които съдържат свойство, наречено 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)


Наистина е голяма работа само ако играта ви поддържа няколко слоя.

Ако имате няколко визуални слоя (например: фон, игрално поле, преден план), тогава може да е полезно да можете да третирате всички тези слоеве по един и същи начин. Разделянето на данните за сблъсъка може да бъде структурно "хубаво".

Как ще го направите зависи от вас. Можете да приложите отделен слой за сблъсък, който можете да редактирате отделно. Въпреки това препоръчвам да не го правите, защото тогава трябва да поддържате вашия слой сблъсък в синхрон с вашия визуален слой "playfield".

По-добро решение е, когато зареждате ниво, динамично да генерирате „слой“ за сблъсък, като извличате данните от слоя на вашето игрално поле (и може би други слоеве, ако това има смисъл за вашата игра). Вероятно ще съхраните този „слой“ в напълно различен формат и ще го поставите към визуалните данни за ниво.

person Andrew Russell    schedule 10.08.2010