假设我有一个包含N个子节点的父节点。他们都在每一帧都安排了更新。首先调用谁update:
选择器,子节点还是父节点?有订单吗?
答案 0 :(得分:1)
visit
中的CCNode
方法包含以下代码:
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
小于零的子项,然后绘制当前节点(子项的父项),然后访问其余的子项(请注意访问根据刚才解释的标准,节点最终将绘制它。