Cocos2D:使用类方法添加Sprite时无法删除Sprite

时间:2012-04-23 22:36:28

标签: class methods cocos2d-iphone sprite

在我的替代类的方法声明中,我传递了一个CCLayer指针,其中添加了一个sprite,一个sprite和spritesheet指针:

+(void) toggleSeedSelectionScreen:(CCLayer*)layer 
                   withSeedSprite:(CCSprite*)seedSprite
              withSeedSpriteSheet:(CCSpriteBatchNode*)seedSpriteSheet;

在我的.m中,在toggleSeedSelectionScreen方法中,我添加了spritesheet和sprite,如:

[seedSpriteSheet addChild:seedSprite];
[layer addChild:seedSpriteSheet z:14];

这很好用。看起来很奇怪的是,当我在CCLayer(图层)中调用一个方法来删除seedSpriteSheet时,没有任何反应。

[self removeChild:seedSpriteSheet cleanup:YES];

当类方法曾经是图层中的方法时,它工作正常。有什么明显的原因吗?

似乎在将它添加到图层后,它通过输入 po seedSprite 在控制台中不知道它的父对象。

1 个答案:

答案 0 :(得分:1)

尝试[seedSpriteSheet removeFromParentAndCleanup:YES];

编辑:当你把它改成图层上的实例方法时,你说它有效..所以为什么不做这样的事情:[[[myobject alloc]init] <instance method> ];。我知道它有用,因为我用它