Я разрабатываю игру с XCode, используя Cocos2d 2.0fc0, и я застрял. Я хотел бы установить свойство BOOL при загрузке класса CCLayer / CCScene Game, чтобы определить, является ли второй игрок локальным или удаленным (Game Center) игроком. Проблема в том, что я не совсем уверен, как это сделать в сложившихся обстоятельствах. Вот что у меня так далеко:
@interface RemoteGame : CCLayer <GameCenterControllerDelegate> {
BOOL isRemote;
}
@property (assign, readwrite) BOOL isRemote;
+(CCScene *) sceneIsRemote: (BOOL) b;
-
@implementation RemoteGame
@synthesize isRemote;
+(CCScene *) sceneIsRemote: (BOOL) b {
CCScene *scene = [CCScene node];
RemoteGame *layer = [RemoteGame node];
layer.isRemote = b;
[scene addChild: layer];
return scene;
}
-(id) init {
if((self=[super init])) {
if (isRemote) {
[GameCenterController sharedController].delegate = self;
}
}
}
Тогда я загружаю сцену так:
CCScene *trans = [CCTransitionFlipX transitionWithDuration:.75 scene:[RemoteGame sceneIsRemote: YES]];
[[CCDirector sharedDirector] replaceScene:trans];
[self presentGCTurnViewController];
Сцена загружается нормально, но BOOL настроен неправильно.