2011-05-15 139 views
0

全部。我有一些功能,添加精灵层绘图精灵问题

-(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]]; 
      } 
     } 
    } 
} 

但是,当我下次调用这个函数我的应用程序只是冻结。我认为它冻结,因为我已经在图层上有相同的精灵。我怎样才能检查我的图层上的所有孩子,如果我在图层上有同一个孩子,那么什么都不做?由于

+0

什么错误是它给你?这可能是因为你试图不止一次地添加tetrisBoard。 – tallen11 2011-05-15 19:36:19

回答

0

你可以得到层的孩子的一个NSArray,那么你可以做这样的检查:

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