Pull to refresh
2
0
Анвар Эльдаров @elanserr

User

Send message
Понятное дело, но не будет же автор писать здесь все подробности разработки… На изучение всего этого, лично у меня, ушло около 2х лет. Тут одной статьёй не обойдешься… Но перечень инструментов — очень полезная штука, новичкам будет полезно знать в какую сторону «копать». И при этом примерно оценить время на изучение и практический опыт…
Вообще лучше отлаживать в XCode. Там есть инструменты для отладки по поиску утечек и еще много интересного и полезного… Но я сталкивался с некоторыми проблемами во время поиска багов, а именно: некоторые баги никак не проявляются когда проект собран и работает под iOS, вплоть до выхода за границы массива… Естественно когда собираешь этот проект в Eclipse, после запуска приложение падает. Если при этом она успевает выдать дамп, и стек вызовов, где произошло исключение, то это еще пол беды… Но иногда программа тихо падает и в ANT ничего полезного не выдает… В этом случае мне очень помогла сборка проекта под Windows Phone, все баги в коде были найдены и успешно устранены… Во время запуска приложения в среде Visual Studio, если оно падает, то очень хорошо видно где это произошло и есть много шансов найти причину…
Дешевле не встречал. Иногда на почту приходят предложения по накрутке рейтинга, относительно не дорого. Но опасно, могут забанить. Когда я опубликовался на апп стор и игра пошла вниз я обратился в такую контору, поставили 50 пятёрок. Через месяц пришло грозное письмо от эппла, пожурили, что следующий раз забанят. Даже на сотовый звонили из за границы и на ломанном русском выясняли, правда ли я обратился в такую то контору для поднятия рейтинга.
Кстати, есть один ресурс для раскрутки приложений из google play, который очень меня порадовал. Appbrain, платишь за закачки, а не за показы. Использовать надо в первые часы и дни после публикации приложения, т.к. есть шанс попасть в топ — набирающие популярность. Если пользователи не будут активно удалять приложения со своих смартфонов. При суточном бюджете в 100$ у меня было стабильно 400 закачек. Но я поздно узнал об этом сервисе и он мало мне помог, хотя вложенные в него деньги мне вернулись через рекламу.
Да, на апп стор публиковаться гораздо сложнее, чем на гугле. Опыта раскрутки, как такового нет. Первая игра уже полтора года в google play. Для апп сторе купил платных показов рекламы для неё, потратил 1000$, ушли в никуда… В гугле сейчас 270000 закачек, из них 17000 активных. Первая даже в топе побыла немножко. Пошла благодоря 4пда, народ активно начал качать после публикации в проекте помощи Российским разработчикам. Вторая игра 3 месяца, всего 7000 закачек, но денег приносит больше гораздо, чем первая, т.к. ecpm у нее выше. От чего это зависит для меня загадка. Сейчас готовлю к публикации третью игру, уже вовсю идет процесс тестирования. Она более профессионально написана, опыта уже поднабрался, есть вариант попасть в топ на гугле всего за 2000$ Думаю пока… Если инетесно на 4пда есть тема раскрутки приложения и там Российская фирма предлагает соответствуёщие услуги. Связывался с ними, прикидывали по деньгам и срокам…
В общем так. Но имея 2х летний опыт разработки и публикации скажу, что это очень трудоёмкий пооцесс, требующий терпения и желания. И увольняться с работы для инди разработки мобильных игр — это смелый и рисковый шаг.
Уже третью игру буду публиковать в google play. Хотя все игры написаны на Cocos2dx и спокойно запускаются на ios устройствах не вижу смысла публиковаться на app store, не имея хотя бы десятки тысяч долларов для раскрутки. Говорю из своего опыта. Игры быстро сваливаются на самое дно стора… При этом количество закачек по миру около 30-70 в день. На google play дело обстоит куда веселее…
Действительно, new не вернет NULL и будет исключение bad_alloc.
stackoverflow.com/questions/550451/will-new-return-null-in-any-case
Спасибо за информацию, постараюсь на такие грабли не наступать. А можете привести пример, где надо менять сцены местами? Просто не приходилось, интересно узнать.
Насчёт bad_alloc я согласен, но стандартный оператор new должен вернуть NULL в случае неудачи. Ведь в нём используется malloc, который в случае неудачи возвращает NULL. Я всегда так думал. Про конструктор… а если я хочу создать объект не в пуле? Мне еще один конструктор писать?
Но суть не в этом. В cocos2d-x код не идеален и иногда приходится копаться в коде и исправлять баги. Но что в этой жизни совершенно?

Да, Вы совершенно правы. В cocos2d-x много полезных макросов, описаны они в файле CCPlatformMacros.h. И в объявлении класса можно написать строчку CREATE_FUNC(CMyClass). Этот макрос раскроется в статическую функцию для создания объекта CMyClass. Да что там говорить, смотрите сами:
/**
 * define a create function for a specific type, such as CCLayer
 * @__TYPE__ class type to add create(), such as CCLayer
 */
#define CREATE_FUNC(__TYPE__) \
static __TYPE__* create() \
{ \
    __TYPE__ *pRet = new __TYPE__(); \
    if (pRet && pRet->init()) \
    { \
        pRet->autorelease(); \
        return pRet; \
    } \
    else \
    { \
        delete pRet; \
        pRet = NULL; \
        return NULL; \
    } \
}

Information

Rating
Does not participate
Location
Новый Уренгой, Ямало-Ненецкий АО, Россия
Date of birth
Registered
Activity