Создание меню и клавиатуры с Cocos2d - PullRequest
0 голосов
/ 07 августа 2010

Я просто создаю меню для приложения для iphone, используя cocos2d CCMenuItem. Теперь я не использую cocos2d так долго, так что, возможно, я делаю это совершенно задницей, так что, надеюсь, кто-то может указать мне правильное направление.

CCMenuItem *mainMenuItem = [CCMenuItemImage itemFromNormalImage:@"Main Menu Up.png" selectedImage:@"Main Menu Down.png"
                                                                 target:self
                                                               selector:@selector(back:)];



CCMenu *soundMenu = [CCMenu menuWithItems:mainMenuItem, nil];

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

NSRange range = NSMakeRange(1, 10);
id *buffer = malloc(10 * sizeof(id));

CCMenu *soundMenu = [CCMenu menuWithItems:[myKeyboard getObjects:buffer range:range],nil];

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

Также мне нужно создать собственную клавиатуру, используя cocos2d, если у кого-то есть какие-либо советы или рекомендации по этому поводу, которые будут очень благодарны. Мне не очень повезло, используя Google, я продолжаю получать код для использования Interface Builder, который я не фанат. Есть ли способ создать клавиатуру просто с помощью cocos2d? Спасибо всем G

1 Ответ

0 голосов
/ 09 августа 2010

Вам не нужно делать все это.Просто создайте свои CCMenuItems и затем добавьте их все в CCMenu в одну строку:

CCMenu *soundMenu = [CCMenu menuWithItems:mainMenuItem,anotherMenuItem, yetAnotherMenuItem, nil];

Что касается части клавиатуры, я думаю, что вы должны искать / открывать другой вопрос.В любом случае, простым способом было бы добавить представление UITextField к представлению OpenGL и позволить UIKit обрабатывать все элементы клавиатуры.

Сложный способ - создать собственную клавиатуру со спрайтами и всем, но вы должныобрабатывать все показы / скрытия, события, обратные вызовы и т. д. Конечно, вы получите выгоду от повышения производительности, если все сделано правильно.

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