| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > iOS > Параметрические кривые |
| Автор: SlavaMinsk 29.3.2014, 13:36 |
| Здравствуйте коллеги. Пишу игру под iOS. Необходимо создать стенки уровня, ограничив при этом пространство персонажу. Сделать это влоб - картинками с нарисованными линиями - не проблема, но они много весят. Хотелось бы сделать эти стенки параметрическими кривыми или ломанными линиями, которые задаются координатами опорных точек. Но при этом иметь возможность отслеживать косания их персонажем (столкновение - game over) и иметь более-менее удобный и не муторный способ создавать такие уровни (натыкать точки в правильном порядке (или нарисовать в photoshop - illustrator) - получить список координат - передать его в массив данных - использовать его для построения стенок). Кто что подскажет, может есть более простой способ. Заранее спасибо! |
| Автор: Bitter 29.3.2014, 16:52 |
| Так в чем именно вопрос? Ограничить линиями вполне хороший вариант |
| Автор: SlavaMinsk 29.3.2014, 20:36 |
| Вопрос в том, как это реализовать? Тупо картинками - большой объём (png много весят) А параметрически - я не знаю как получить координаты и как их использовать (передать в прогу, соединить между собой, узнать о столкновении персонажа с линией) |
| Автор: Shklyar 30.3.2014, 02:50 |
| Полагаю, что стоит рассказать про технологии, уже под iOS, что вы используете. 2d? Если чисто под iOS, вне каких-то движков, то ну создайте конфиг - plist, с набором точек, которые описывают предмет (как грани какого-то изображения). По набору точек создайте класс барьера. В этом классе сделайте метод, который принимает точку или прямоугольник и выдает было ли столкновение. Остается алгоритм столкновения. Если 2d. Найти ближайшие две точки по направлению движения и по правилам геометрии треугольников определить пересечение линии. Еще, бросьте взглядом на http://www.mapeditor.org/. |
| Автор: Bitter 30.3.2014, 13:24 |
| Еще можно использовать Box2d, который избавит вас от множества проблем и сэкономит много времени |
| Автор: SlavaMinsk 31.3.2014, 14:08 |
| Спасибо за ответы - буду разбираться что вы мне насоветовали. |