Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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
Спасибо за ответы - буду разбираться что вы мне насоветовали.

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