Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Границы изображения


Автор: TForumUser 29.7.2007, 19:13
Здрасте, товарищи!
Недавно поймал себя на том, что, играя в любимую игрушку, думаю как ее реализовали (знаю, это не лечится). Некоторые моменты даются довольно легко (например, почему персонаж умирает, когда здоровье <= 0 smile), но два момента не дают мне спать: как персонаж не проваливается под землю (земля имеет холмистую форму) и как стрела, пролетевшая возле самого уха не повреждает его. Насколько я знаю, изображение имеет прямоугольную форму (отвлечемся от 3D графики), и если просто отлавивать координаты стрелы и сравнивать их с границами изображения (меньше левого верхнего и больше нижнего левого), то стрела в данном случае заденет ухо (так как плечи обычно шире головы).
Если бы предмет был, скажем, круглый, то можно было бы подставить уровнение окружности, тогда задача сводится к разбиению спрайта на геометрические фигуры, но это слишком бородатый код.
Если брать цвет пикселя, который находится под стрелой и сравнивать его с цветом спрайта, так это самое глупое что можно придумать smile
Напрашивается вопрос: а как это реализовали?
Заранее спасибо!

Автор: Sanchezzz 29.7.2007, 22:06
Ответ на вопрос на счет не проваливается проверка столкновения с объектом если правда то или иное действие. точно также и с другими объектами. все это можно под черпнуть из разных источников например из программ и их движков Blize3D или Game Maker 6-7 для 2D но и 3D тоже есть..
Лучше использовать готовый движок чем писать его в одиночку. рекомендую Blize3D. много красивых игр сделано. 

Автор: TForumUser 30.7.2007, 22:20
Sanchezzz, спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)