Я использовал 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
Мне кажется, что я еще больше запутался с библиотеками.Затем я очистил проект и все цели и перекомпилировал, но не изменился.Я попытался еще несколько раз, и вот я отправляю это сообщение .. Я немного застрял .. извините ..
Спасибо за чтение ..