Войти
ПрограммированиеФорумОбщее

cocos2d-x стоит ли связываться ?! (3 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 3
#30
2:13, 18 апр. 2014

CasDev
А какие тулзы ты используешь с кокосом?


#31
3:18, 18 апр. 2014

Frankinshtein
> А какие тулзы ты используешь с кокосом?
Я использую (пока) cocos2d-iphone версии 2.0, поскольку там довольно большая обвязка у меня над всем этим делом идет, и переписывать все это на 3.0 я буду только когда 3.0 станет бодрым, веселым и со стабильным API (причем еще подумаю, а не стоит ли кокос сменить на что-нибудь другое).

У меня к сожалению, обертка специфична (поскольку я люблю асинхронно все подгружать, и показывать анимированные индикаторы загрузки пока все это идет), поэтому использую иногда cocosBuilder (чисто для координат, которые потом вбиваю в свой xml-файлик). Поскольку ресурсы для iPad/iPhone/iPhone5 хранятся в одном проекте - нативно использовать билдер для сохранения одного кода не выходит.

P.S. С завтрашнего дня работаю софтварным прогером, так что...

#32
7:27, 18 апр. 2014

CasDev
> Единственное что меня останавливает - их привязка к CCObject - и из-за этого
> какая то фигнь с замыканиями (нет бы сделать НОРМАЛЬНЫЕ функторы или лямбды,
> без всяких кокосовских макросов поверх
В третьей версии как раз и перешли на std::function. А туда уже что хочешь, то и подставляешься.

Когда скачал третию версию кокса, стало работать с ним гораздо комфортнее и удобнее. Инструментами никакими не пользовался еще, вся верстка руками проходит. Но не жалуюсь на это. привычнее так мне.

> Ну и да - работа с тачами заслуживает премии "худшая реализация из возможных"
Почему? Какая реализация хорошая? С другими не приводилось встречаться.
А вот акшины нравятся. Создал необходимое, запустил и забыл (ну или не забыл).

#33
9:52, 18 апр. 2014

Volodar
> Почему? Какая реализация хорошая? С другими не приводилось встречаться.
Привожу пример - снижу лежит ССLayer (скролл), сверху кнопка меню. Если при нажатии на кнопку делаем меню невидимым - отпускание тача проходит на скролл.
Допустим есть ССTouchableSprite с приоритетом -128, на весь экран. На него вешаем скролл с тем же приоритетом. Этот скролл никогда тачи не примет, поскольку так уж реализована подача тачей.

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

> А вот акшины нравятся. Создал необходимое, запустил и забыл (ну или не забыл).
А если акшин надо выборочно отменить/заморозить?
Одно из простейших решений, что приходит на ум - хотя бы возможность достать для ССNode список действующих на него actions. Чего из под коробки - нет.

Сами actions тоже... ммм...
Ну вот стандартный пример - имеем скроллбар, имеем на нем елементы. Допустим, мы хотим элементы с экрана выкидывать на скроллбар. Как это сделать? Закидывать на скроллбар пустую ноду с нужными координатами, затем елементом "подлетать" к нужной ноде (используя перевод позиции в экранные и обратно), после чего ее заменять. Есть ли action moveToNode из под коробки? а нет его. Хотя там ничего сверхсложного нет, и даже масштаб можно учитывать.

В-общем кокос хорош, пока не начинаешь копать.

#34
10:53, 18 апр. 2014

CasDev
> А если акшин надо выборочно отменить/заморозить?
а как же stopActionByTag, stopAction?

> Привожу пример - снижу лежит ССLayer (скролл), сверху кнопка меню. Если при
> нажатии на кнопку делаем меню невидимым - отпускание тача проходит на скролл.
Не должно быть такого. Меню подписывается как targeted delegate. Когда по какому либо элементу приходит touchBegan все остальные тачи прийдут только меню, вне зависимости от invisible menu. Вот только меню может не обрабатать touchEnded, так как невидимо. Точно не помню, это смотреть надо.

> Ну вот стандартный пример
С таким не сталкивался, не могу ничего сказать.

#35
11:07, 18 апр. 2014

CasDev
> В-общем кокос хорош, пока не начинаешь копать.
потому дружно переходим на Oxygine :) с его клевыми Tween и моделью эвентов как во флеше

#36
16:09, 18 апр. 2014

Volodar
> а как же stopActionByTag, stopAction?

Дано:  CCNode
На выходе получить список actions, которые в данный момент привязаны к CCNode.

>Tag
Наиболее убогое решение из возможных.
К примеру - есть класс CCAction. Если мне будет нужно, я сделаю наследник CCActionTag. За все время использования кокоса (чуть больше 2ух лет) - ни разу не понадобилось использовать tag.

#37
15:46, 8 сен. 2014

Frankinshtein
Oxygine - отличный фреймворк. А, кстати, вроде мармелад теперь бесплатен? Есть ли у него какие-то ограничения?

#38
17:21, 8 сен. 2014

ice-w-ind
Спасибо:)

мармелад бесплатный вроде стал,  хотя я не слежу, ну ограничений хватает
самое идиотское - это показ рекламы при старте эмулятора секунды 3, только потом игра начинает грузиться
мы перешли на SDL

Страницы: 1 2 3
ПрограммированиеФорумОбщее

Тема в архиве.