CCNode から継承する Player クラスでのカスタム init メソッドの作成について質問があります。代わりに別のルートを取り、代わりにクラスメソッドを作成する必要があるかどうかはわかりません:
+ (id) addSprite: (CCSprite*) sprite andSpriteBatchNode: (CCSpriteBatchNode*) spriteBatch;
その他のクラス メソッド ....
クラスにはPlayer
、いくつかの便利な init メソッドに沿って、指定された init メソッドがあります。
- (id) init;
- (id) initWithSpriteBatchNode: (CCSpriteBatchNode*) spriteBatch;
- (id) initWithSprite: (CCSprite*) sprite andSpriteBatchNode: (CCSpriteBatchNode*) spriteBatch;
//指定されたinitメソッド
Level クラスでこのクラスをインスタンス化すると、カスタムの init メソッドを直接呼び出すことができません。私がしなければならないことは次のとおりです。
Player *player = [Player node];
[player initWithSprite: sprite andSpriteBatchNode: spriteBatch;];
//これが正しいかどうか、またはメモリリークするかどうかはわかりません
インスタンスレベルで同じことをしているので、名前の他のメソッドはどちらでも機能するはずです。
お知らせ下さい。