更新セレクターを自動的にトリガーし、b2bodyメンバーセットに応じてスプライトを移動する単純な物理スプライトを作成しました。
ただし、その物理スプライトをサブクラス化する場合は、その更新メソッドを拡張して、さらにいくつかのアクションを実行したいと思います。そのupdateメソッドをオーバーライドするときは、サブクラスでビジネスを行う前に、スーパークラスのupdateメソッドを呼び出してビジネスを実行できるようにする必要があります。
ここにいくつかのコードがあります:
スーパークラス:
/**
* SELECTOR
* This selector updates the sprites position
*/
-(void) update:(ccTime) dt {
CCLOG(@"PSprite update");
if (self.body) {
//Get the body's position in pixels
CGPoint newLocationForSprite = ccp(self.body->GetPosition().x * PTM_RATIO, self.body->GetPosition().y * PTM_RATIO);
//positioning self
[self setPosition:newLocationForSprite];
}
}
サブクラス:
-(void) update:(ccTime) dt {
//I want to call my superclass's update method
CCLOG(@"Subclass update");
}