谁先得到更新,父母或孩子? (cocos2d的)

时间:2012-05-03 19:25:22

标签: cocos2d-iphone

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

1 个答案:

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