0

我已经在 HelloWorldLayer 类中初始化了一个方法播放器方法(从 NSObject 继承)。我想以不需要分配它们的方式声明同一类的其他方法。例如:

播放器.mm

-(id)spritePlayer:(CCLayer *)parentLayer 
                     inWorld:(b2World *)world
{
    creation of sprite body and other stuff
}

我想在联系人监听器类中使用此方法,但我已将其声明为播放器类:

-(void) touchingFix:(b2Fixture *)touchedFix
{
    bodyTouched=TRUE;
    bodyFix=touchedFix;
}

在 Contact Listener 类中,我只能通过以下方式访问它:

[[Player alloc] touchingFix:fixtureA];

我不能以某种方式访问​​它而不用另一种方法分配它吗?如果是,我该怎么做。

4

1 回答 1

2

改成类方法:去掉方法前面的'-',改成'+'

+(void) touchingFix:(b2Fixture *)touchedFix
{
    bodyTouched=TRUE;
    bodyFix=touchedFix;
}

您可以使用类名而不是指向类实例的指针来访问类方法:

[Player touchingFix:fixtureA];
于 2012-11-18T15:13:47.243 回答