我制作了一个简单的物理精灵,它将自动触发更新选择器并相应地将精灵移动到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");
}
答案 0 :(得分:4)
子类代码
- (void) update:(ccTime)dt
{
[super update: dt];
// do anything you want
}