2014-05-12 6 views
1

Я пытаюсь создать кнопку replay, чтобы пользователь мог просто переигрывать, а не возвращаться к меню выбора уровня в игре, которую я создаю. Игра является sprite-kit для iOS 7. Проблема, с которой я столкнулась, - это сброс целого числа. По какой-то причине он остается равным 0. Все остальное содержимое сцены заменяет себя на метод initWithSize, но хотя я объявляю значение целых чисел 5 в методе initWithSize, он не сбрасывает значение, а остается в 0.Как создать кнопку воспроизведения и сбросить содержимое?

После gameOverNode для появляется моя игра, есть кнопка, которая говорит «Replay», который я создал, чтобы загрузить сцену, это код:

if ([node.name isEqualToString:@"reTry"]) { 
    level2 *repeat = [[level2 alloc] initWithSize:self.size]; 
    [self.view presentScene:repeat transition:[SKTransition fadeWithColor:[SKColor whiteColor] duration:0.5]]; 
} 

И, как говорится, все в сцене сбрасывается (т.е. позиции SKSpriteNodes и т. д.), за исключением значения целого числа, которое остается на уровне 4.

Почему это и как я могу сбросить значение целого числа?

Есть ли способ очистить сцену до перезагрузки?

Это initWithSize метод:

-(id)initWithSize:(CGSize)size { 
    if (self = [super initWithSize:size]) { 

     movesRemaining = 4; 
+0

какое число? self.size? показать код, где он должен быть сброшен до 5 – connor

+0

См. код выше @connor «moveRemaining» – user3576196

+0

Используете ли вы тот же метод, когда игра начинается? это работает? – connor

ответ

1

То, что вы объявили является объектом класса. Вам нужно объявить его как переменную экземпляра.

Вместо

#import <SKScene/SKScene.h> 
. 
. 

int movesRemaining; 

Вы должны объявить его следующим образом:

@interface level2 : SKScene 
{ 
    int movesRemaining; 
} 
+0

Wow thanks работал как шарм :) оцените его. @akashg – user3576196

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