Импорт библиотек Cocos2d испортился после использования SlidingMenuGrid.mm? - PullRequest
0 голосов
/ 16 февраля 2012

Я использовал SlidingMenuGrid.mm, представленный (http://brandonreynolds.com/blog/2011/01/09/cocos2d-sliding-menu-grid/) и обсужденный в (http://www.cocos2d -iphone.org / forum / topic / 12477 ). Он отлично работал наигровой проект, который я начал делать с нуля.

К сожалению, я тогда попытался добавить его к существующему исходному коду из книги (http://www.apress.com/9781430233039)) и не работал. Первая проблема заключается в том, что в CCMeu.h следующее перечисление не было объявлено, поэтому мне пришлось добавить их:

typedef enum  {
    kCCMenuStateWaiting,
    kCCMenuStateTrackingTouch
} tCCMenuState;

enum {
    //* priority used by the menu for the touches
    kCCMenuTouchPriority = -128,

    //* priority used by the menu for the mouse
    kCCMenuMousePriority = -128,
};

Затем ошибки компиляции уменьшились, и у меня осталась следующая ошибка:

/Classes/SlidingMenuGrid.mm:117: error: return-statement with a value, in function returning 'void'

Это странно, так как родительский класс возвращает void, и даже больше, та же библиотека, вставленная в другой проект, работает нормально и не жалуется (код тот же).

Вот строка 117 из SlidingMenuGrid.mmдля справки:

-(void) addChild:(CCMenuItem*)child z:(int)z tag:(int)aTag
{
    return [super addChild:child z:z tag:aTag];
}

Я подумал, что проблема может быть связана с версией cocos2d, включенной в исходный код файла примера. Поэтому я удалил "CocosDenshion", "Cocos2d", "cocoslive" и "FontLabel "папкаи заменил их на другой мой проект.К сожалению, теперь я получаю 32 ошибки компиляции .. не одну :) .. первая -

/ Classes / GameScene.h: 36: error: ожидаемый список спецификаторов-спецификаторов перед CCLabel

Мне кажется, что я еще больше запутался с библиотеками.Затем я очистил проект и все цели и перекомпилировал, но не изменился.Я попытался еще несколько раз, и вот я отправляю это сообщение .. Я немного застрял .. извините ..

Спасибо за чтение ..

1 Ответ

1 голос
/ 17 февраля 2012

Просто удалите «return» здесь, чтобы исправить ошибку:

-(void) addChild:(CCMenuItem*)child z:(int)z tag:(int)aTag
{
   [super addChild:child z:z tag:aTag];
}

Проблемы связаны не только с различиями версий cocos2d, но и с настройками компилятора.В частности, если в проекте используется Apple LLVM Compiler xx, вы получаете более точные (и более) предупреждения и ошибки, что, как правило, полезно иметь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...