2012-05-03 44 views

回答

1

CCNodevisit方法有以下代碼:

if(children_) { 
    ccArray *arrayData = children_->data; 
    NSUInteger i = 0; 

    // draw children zOrder < 0 
    for(; i < arrayData->num; i++) { 
     CCNode *child = arrayData->arr[i]; 
     if ([child zOrder] < 0) 
      [child visit]; 
     else 
      break; 
    } 

    // self draw 
    [self draw]; 

    // draw children zOrder >= 0 
    for(; i < arrayData->num; i++) { 
     CCNode *child = arrayData->arr[i]; 
     [child visit]; 
    } 

所以,你可以看到,第一次被訪問的孩子,其zOrder小於零,則當前節點(孩子的父母)繪製,那麼其餘的孩子也會被訪問(請注意,根據剛纔解釋的標準,訪問節點最終會吸引它)。