代替クラスのメソッド宣言では、スプライトが追加される CCLayer ポインターと、スプライトおよびスプライトシート ポインターを渡します。
+(void) toggleSeedSelectionScreen:(CCLayer*)layer
withSeedSprite:(CCSprite*)seedSprite
withSeedSpriteSheet:(CCSpriteBatchNode*)seedSpriteSheet;
私の .m の toggleSeedSelectionScreen メソッドで、次のようにスプライトシートとスプライトを追加します。
[seedSpriteSheet addChild:seedSprite];
[layer addChild:seedSpriteSheet z:14];
これはうまくいきます。奇妙な動作をしているように見えるのは、シードスプライトシートを削除するために CCLayer (レイヤー) でメソッドが呼び出されても何も起こらないことです。
[self removeChild:seedSpriteSheet cleanup:YES];
クラスメソッドがレイヤー内のメソッドであった場合、正常に機能しました。明らかな理由はありますか?
レイヤーに追加された後、 po seedSpriteと入力しても、コンソールで親オブジェクトであることを認識していないようです。