无法访问CCNode作为场景的子项

时间:2014-02-14 10:30:33

标签: objective-c cocos2d-iphone spritebuilder

我对spriteBuilder和cocos2d都很陌生,这意味着我很确定我做错了什么......我只是不知道是什么。

我已将CCNode添加到“级别场景”中,我将其作为子场景加载到我的“游戏场景”中,但我似乎无法弄清楚如何引用级别场景中的CCNode

有点像这样:

游戏场景(CCScene) Level1场景(CCScene) 目标(CCNode)

然后在我的代码中我做了:

gameplay = [CCBReader loadAsScene:@"Levels/Level1"];

然后我想获得我放置在关卡中的目标位置。我该怎么办?它有一个“doc root var”,但我只能在自定义的“target”类中访问它。我如何访问内部游戏玩法?从游戏玩法开始,这段代码给我{0,0}但在目标类内运行时{393,193}。

NSLog(@"Target pos = %@", NSStringFromCGPoint(_target.position));

如果这令人困惑,我很抱歉,我会尽量让它更清楚。抱歉,如果这是一个愚蠢的问题,我刚刚开始。

感谢您的帮助。

编辑:在游戏玩法上记录[自己的孩子]给出:

("<CCSprite = 0x993e670 | Rect = (0.00,0.00,500.00,281.50) | tag =  | atlasIndex = -1>",
"<CCSprite = 0x9c9a350 | Rect = (68.00,0.50,32.00,25.50) | tag =  | atlasIndex = -1>",
"<CCPhysicsNode = 0xba3a220 | Name = >",
"<CCButton = 0x9c9db20 | Name = >",
"<CCButton = 0x9ca33e0 | Name = >",
"<CCLabelTTF = 0x9ca5320 | FontSize = 50.0>",
"<CCButton = 0x9ca6010 | Name = >",
"<CCButton = 0x9ca7f50 | Name = >",
"<CCSlider = 0x9caa060 | Name = >",
"<CCLabelTTF = 0x9caeed0 | FontSize = 16.0>",
"<CCLabelTTF = 0x9cafa10 | FontSize = 15.0>",
"<CCSprite = 0x9cb02f0 | Rect = (107.50,29.00,75.00,64.50) | tag =  | atlasIndex = -1>",
"<CCSprite = 0x9cb08c0 | Rect = (107.50,29.00,75.00,64.50) | tag =  | atlasIndex = -1>",
"<CCSprite = 0x9cb0e90 | Rect = (107.50,29.00,75.00,64.50) | tag =  | atlasIndex = -1>",
"<CCLabelTTF = 0x9cb1460 | FontSize = 50.0>")

1 个答案:

答案 0 :(得分:0)

我解决了。似乎因为我有这样的层次结构: gamePlay-&GT; levelNode-&GT;级别1

我必须这样做才能设定我的目标:

_target = [[levelNode getChildByName:@"level1" recursively:false] getChildByName:@"target" recursively:false];

现在似乎至少解决了它。 :)