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 に答える