我制作了一个简单的物理精灵,它将自动触发更新选择器并将精灵相应地移动到 b2body 成员集。
但是,当我对该物理精灵进行子类化时,我想扩展该更新方法以执行更多操作。当我重写该更新方法时,我需要以某种方式调用超类更新方法,以便它可以在我在子类中执行我的业务之前执行它的业务。
这是一些代码:
超类:
/**
* 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");
}