Как создать уровень с изогнутыми линиями с помощью cocos2d + Box2d на iphone? - PullRequest
7 голосов
/ 26 октября 2010

Я бы хотел создать игру с такими уровнями, как этот: http://img169.imageshack.us/img169/7294/picdq.png

Игрок движется «пролетает» через уровень и не должен сталкиваться со стенами.Как я могу создать такие уровни?

Я нашел это программное обеспечение: http://www.sapusmedia.com/levelsvg/

Это не так уж и дешево, поэтому мне интересно, есть ли другой способ создать такой уровень, как показано на картинке выше ...?

Ответы [ 2 ]

6 голосов
/ 10 марта 2011

Вы можете сделать это довольно легко, читая значение цвета пикселей в определенных местах уровня.Возьмем, к примеру, фон вашего уровня белый, а стены черные.Чтобы выполнить обнаружение столкновений, независимо от того, попал ли ваш персонаж в стену, вы должны сделать следующее: -положить положение вашего персонажа -посмотреть значения цвета пикселей вашей карты, которые перекрываются с ограничивающим прямоугольником или сферой персонажа в этой позиции -если какой-либо из них содержит черный цвет, вы сами столкнулись :)

Теперь, если ваш уровень красочный, вам нужно создать черно-белую маску текстуры, которая будет отражать поверхности стен вашей реальной карты.Затем используйте цветную карту для рисования и BW карту для обнаружения столкновений.

1 голос
/ 02 марта 2011

Я бы потратил пару недель на изучение Objective-C, Xcode, Interface Builder и документации Apple iOS. Существует множество хороших учебных пособий и примеров проектов Xcode, которые можно загрузить и запустить на симуляторе iPhone / iPad.

Если вы только начинаете, некоторые из этих библиотек быстрого запуска могут лишить вас глубоких знаний, которые вам понадобятся для создания тонкостей и нюансов, которые понадобятся вам, когда ваше приложение начнет выходить за пределы изолированной программной среды кода. Неплохо использовать в качестве инструментов обучения или ускорить время разработки, но я бы посоветовал не использовать их в качестве опоры, пока вы не укрепите свои ноги разработчика. Crawl. Ходить. Run!

...