所以我在cocosbuilder项目中用cocosbuilder构建了一个CCMenuItemImage,稍后在我的项目中使用它。 但是,永远不会调用响应方法。
答案 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
这个技巧可以帮助你兄弟!