绘制精灵的问题

时间:2011-05-15 14:31:13

标签: cocos2d-iphone

所有。我有一些功能,将精灵添加到图层

-(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 :(得分:0)

您可以获得图层子级的NSArray,因此您可以执行以下检查:

if ([[self children] containsObject:tetrisBoard[x][y]]) {
    [self addChild:tetrisBoard[x][y]];
}