在我的替代类的方法声明中,我传递了一个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 在控制台中不知道它的父对象。
答案 0 :(得分:1)
尝试[seedSpriteSheet removeFromParentAndCleanup:YES];
编辑:当你把它改成图层上的实例方法时,你说它有效..所以为什么不做这样的事情:[[[myobject alloc]init] <instance method> ];
。我知道它有用,因为我用它