使用cocosbuilder构建的CCMenuItemImage无法调用我的方法

时间:2012-12-06 03:53:49

标签: cocos2d-iphone

所以我在cocosbuilder项目中用cocosbuilder构建了一个CCMenuItemImage,稍后在我的项目中使用它。 但是,永远不会调用响应方法。enter image description here

enter image description here

3 个答案:

答案 0 :(得分:2)

转到“文档”菜单,确保“#34; JavaScript Controlled"未经检查。

我真的很难过。 CCBControlButtons称他们的选择器,但CCMenuItemImages没有。更改了该设置,它现在正在运行。

答案 1 :(得分:0)

您没有提供太多可以帮助我们的信息。但是,我最近对我的应用做了同样的事情,所以也许我可以给你一些关于在哪里看的想法。首先,CCMenu是自己的根节点(单独的文件)还是CocosBuilder文件中CCLayer的子节点?

在第一个场景中,CCMenu(和CCMenuItemImage)是一个单独的节点文件,然后您可以使用以下语句将其链接到您的游戏层代码:

CCMenu *menu = [CCBReader nodeGraphFromFile:@"filename.ccbi" owner:self];

然后在Cocosbuilder程序中输入CCMenuItemImage链接到的方法名称,确保选择“Owner”而不是“Document root”。

第二种情况是您的Cocosbuilder文件是CCLayer,而CCMenu是该层的子级,这可能是更可能的情况。如果您使用

成功加载了ccb文件
CCScene *scene = [CCBReader sceneWithNodeGraphFromFile:@"filename.ccbi"]; (might need to double-check that one, I am not at my XCode)

然后,在Cocosbuilder中输入CCMenuItemImage方法名称时,选择“Document Root”将其链接到您的代码。

然后在游戏图层的代码中,您应该使用与在Cocosbuilder中键入的方法相同的方法。因此,如果您的游戏图层的方法是:

-(void)pressedButton:(id)sender {
   CCLOG(@"Button pressed!");
}

然后你需要有相同的方法

pressedButton:

链接到Cocosbuilder中的该按钮。

希望这有帮助。

答案 2 :(得分:0)

好吧,那也发生在我身上......

解决方案是 首先,你必须在输入选择器字段后按Enter键。

其次,你必须发表(我不止一次)。

为您的信息....当你保存cocosbuilder项目(cmd + s)时,你不会保存整个项目......你只会保存当前场景....

所以,以防万一你应该保存并发布在每个场景上你都担心..

最后一个提示(虽然我不知道不同),我选择了文件根(不是所有者):D

这个技巧可以帮助你兄弟!