0

在我的备用类中的方法声明中,我传递了一个 CCLayer 指针,其中添加了精灵以及一个精灵和精灵表指针:

+(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,它不知道它是控制台中的父对象。

4

1 回答 1

1

尝试 [seedSpriteSheet removeFromParentAndCleanup:YES];

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

于 2012-04-24T18:07:04.160 回答