无法为图层上的 CCButton 设置选择器块
Failed to set selector block for CCButton on a Layer
所以我正在使用 sprite builder
、objective-c
和 Xcode
。
在 sprite builder 中,我创建了一个如下所示的图层:
然后在代码中,我将它添加到我希望它出现的场景的内容节点中。我想在块(级别)完成时给它一种 "pop-up" window 效果,然后在单击继续时它会再次隐藏。
问题是当我从 CCBReader
加载它时,我收到一条消息说 "Failed to set selector/target block for "continueBlock""
我不确定我做错了什么,因为我在我首先加载图层的场景的 class 中编写了 "continueBlock" 方法。
@implementation SceneGeneral{
CCNode *__contentNode;
CCNode *nextBlock;
}
-(void)didLoadFromCCB{
self.userInteractionEnabled=TRUE;
nextBlock = [CCBReader load: @"NextBlock"];
[__contentNode addChild: nextBlock];
nextBlock.visible=NO;
}
-(void)continueBlock{
nextBlock.visible=NO;}
-(void)someMethod{
if(some condition){
nextBlock.visible=YES;
// i know that this method is working because the layer does pop up when the condition is met.}
}
一个可能的解决方案是在 Spritebuilder 右侧的 'Item code connections' 选项卡中将按钮目标设置为 'Owner'(而不是 'Document root')。
然后,使用 CCBReader 的 load:owner
方法加载弹出场景,如下所示:
nextBlock = [CCBReader load: @"NextBlock" owner:self];
这应该可以解决问题:)
所以我正在使用 sprite builder
、objective-c
和 Xcode
。
在 sprite builder 中,我创建了一个如下所示的图层:
然后在代码中,我将它添加到我希望它出现的场景的内容节点中。我想在块(级别)完成时给它一种 "pop-up" window 效果,然后在单击继续时它会再次隐藏。
问题是当我从 CCBReader
加载它时,我收到一条消息说 "Failed to set selector/target block for "continueBlock""
我不确定我做错了什么,因为我在我首先加载图层的场景的 class 中编写了 "continueBlock" 方法。
@implementation SceneGeneral{
CCNode *__contentNode;
CCNode *nextBlock;
}
-(void)didLoadFromCCB{
self.userInteractionEnabled=TRUE;
nextBlock = [CCBReader load: @"NextBlock"];
[__contentNode addChild: nextBlock];
nextBlock.visible=NO;
}
-(void)continueBlock{
nextBlock.visible=NO;}
-(void)someMethod{
if(some condition){
nextBlock.visible=YES;
// i know that this method is working because the layer does pop up when the condition is met.}
}
一个可能的解决方案是在 Spritebuilder 右侧的 'Item code connections' 选项卡中将按钮目标设置为 'Owner'(而不是 'Document root')。
然后,使用 CCBReader 的 load:owner
方法加载弹出场景,如下所示:
nextBlock = [CCBReader load: @"NextBlock" owner:self];
这应该可以解决问题:)