0
假設我有一個有N個子節點的父節點。他們都在每一幀都安排了更新。誰的update:
選擇器首先被調用,子節點還是父節點?有沒有設定的順序?誰先獲得更新,父母或孩子? (cocos2d)
假設我有一個有N個子節點的父節點。他們都在每一幀都安排了更新。誰的update:
選擇器首先被調用,子節點還是父節點?有沒有設定的順序?誰先獲得更新,父母或孩子? (cocos2d)
在CCNode
的visit
方法有以下代碼:
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
小於零,則當前節點(孩子的父母)繪製,那麼其餘的孩子也會被訪問(請注意,根據剛纔解釋的標準,訪問節點最終會吸引它)。