2010-08-07 53 views
0

我只是使用cocos2d CCMenuItem创建一个iphone应用程序的菜单。现在我还没有使用cocos2d那么长时间,所以我可能会完全采用这种方式,所以希望有人能够指出我正确的方向。用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,并添加所有菜单项,然后将数组添加到soundmenu中。

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

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

像这样的东西?现在当然,这不工作,我即时得到无效的使用void表达式错误。林甚至不知道它甚至有可能做我想要的东西,所以任何提示将不胜感激。

另外我需要使用cocos2d创建一个自定义键盘,如果任何人有任何提示或建议,将是非常感激。我没有真正有很多运气使用谷歌我不断获取使用Interface Builder的代码,这不是我的粉丝。有没有办法使用cocos2d创建键盘? 谢谢全部 G

回答

0

您不必这么做。您只需建立CCMenuItems,然后所有的人都加入到CCMenu在一条线:

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

至于键盘的部分,我想你应该寻找/打开另一个问题。无论如何,简单的方法是将UITextField视图添加到OpenGL视图,并让UIKit处理所有键盘的东西。

困难的方法是创建自己的精灵和所有的键盘,但你将不得不处理所有的显示/隐藏,事件,回调等。当然,如果做得好,你会得到更好的性能的好处。

+0

是的,你说的两种方式正是我最终做的。我在1行中添加了所有菜单项并创建了自己的键盘。它使用的是自定义精灵,因此最终将menu.m和menuitem.m类中的所需内容修改为新类。似乎运作良好,并让我调整键盘如何对互动做出反应,因为我决定这样做,现在第一次完成的操作对未来项目的重复使用会很简单。感谢回到我身边,我只是想确定我正在朝着正确的方向 谢谢 G – glogic 2010-08-10 21:28:24