проблема с рисованием спрайта - PullRequest
0 голосов
/ 15 мая 2011

все. У меня есть функция, которая добавляет спрайт к слою

-(void)drawBoard {
    for (int y = 0; y < 18; y++) {
        for (int x = 0; x < 12; x ++) {
            if (tetrisBoard[x][y] != NULL) {
                [self addChild:tetrisBoard[x][y]];
            }
        }
    }
}

Но когда я вызываю эту функцию в следующий раз, мое приложение просто зависает. Я думаю, что он зависает, потому что у меня уже есть тот же спрайт на слое. Как я могу проверить все дочерние элементы на моем слое, и если у меня есть один и тот же дочерний элемент на слое, то ничего не делать? Спасибо

1 Ответ

0 голосов
/ 16 мая 2011

Вы можете получить NSArray дочерних элементов слоя, чтобы вы могли выполнить проверку следующим образом:

if ([[self children] containsObject:tetrisBoard[x][y]]) {
    [self addChild:tetrisBoard[x][y]];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...