1

我制作了一个简单的物理精灵,它将自动触发更新选择器并将精灵相应地移动到 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");
}
4

1 回答 1

4

子类代码

- (void) update:(ccTime)dt
{
    [super update: dt];

    // do anything you want
}
于 2012-10-10T20:07:48.443 回答