0

假设我有一个带有 N 个子节点的父节点。他们都在每一帧都安排了更新。首先调用谁update:的选择器,子节点还是父节点?有固定的顺序吗?

4

1 回答 1

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小于零的子节点,然后绘制当前节点(子节点的父节点),然后还访问其余的子节点(请注意,访问一个节点最终会绘制它,根据刚刚解释的标准)。

于 2012-05-03T19:33:39.630 回答