在cocos2d教程中,人们在init方法中初始化people /物理节点,但是在cocos2d + SpriteBuilder教程中,它是用这个方法编写的:
- (void)didLoadFromCCB {}只有在cocos2d教程中才有这样的方法,但是有一行代码,这说明了它是一种什么样的方法,对吗?
- (void)onEnter{
[super onEnter];
}那么,“didLoadFromCCB”对于SpriteBuilder项目是一种神奇的方法吗?
发布于 2014-07-25 12:15:45
didLoadFromCCB方法在CCBReader加载节点后发送到每个节点。当该方法由该节点的类实现时,它将运行该方法。它的行为就像一个协议方法,而不必实现协议(也没有协议)。另见这个github问题。
在加载之后运行didLoadFromCCB的didLoadFromCCB方法如下所示:
+ (void) callDidLoadFromCCBForNodeGraph:(CCNode*)nodeGraph
{
for (CCNode* child in nodeGraph.children)
{
[CCBReader callDidLoadFromCCBForNodeGraph:child];
}
if ([nodeGraph respondsToSelector:@selector(didLoadFromCCB)])
{
[nodeGraph performSelector:@selector(didLoadFromCCB)];
}
}onEnter方法是由CCNode类定义的,因此它被记录在CCNode类引用中,Xcode能够在开始键入它时建议该方法。
https://stackoverflow.com/questions/24955264
复制相似问题