2015-09-05 2 views
0

Как установить значение для свойства в операторе if, доступ к которому можно получить за пределами области действия оператора if? Моя попытка:Установка значения свойства внутри оператора If

@interface GamePlayScene() 
@property (nonatomic) PlayerNode *player; 
@property (nonatomic) CGPoint playerPosition; 
@end 

@implementation GamePlayScene 
- (void) didMoveToView:(SKView *)view{ 
    ... 
    if (IS_IPHONE_4){ 
     self.playerPosition = CGPointMake(CGRectGetMidX(self.frame)-210, CGRectGetMidY(self.frame)-100); 

    } 
    else if (IS_IPHONE_5){ 
     self.playerPosition = CGPointMake(CGRectGetMidX(self.frame)-230, CGRectGetMidY(self.frame)-100); 

    } 
    self.player = [PlayerNode playerAtPosition:_playerPosition withImage:@"HeroRun1"]; 
    [self addChild:self.player]; 
    ... 
} 

Свойство playerPosition не сохраняет значение, установленное в if statement.

ответ

1

Как вы определяете IS_IPHONE_4 и IS_IPHONE_5 в вашем коде? Используйте NSLog, чтобы проверить, запущена ли программа в if-statement. Также добавьте оператор else, чтобы установить случай по умолчанию для self.playerPosition.

+0

theyre определяется в другом файле следующим образом: '#define IS_IPHONE_4 (fabs ((double) [[UIScreen mainScreen] bounds] .size.height - (double) 480) Exprosul

+0

Ах, он не проходил оператор if. – Exprosul

+0

@Exprosul Поддерживает ли вас приложение портрет, пейзаж или и то, и другое? – WangYudong

Смежные вопросы