Ninja Library - モーション関数

njStartMotionObj

0番スロットへのオブジェクトモーションパラメータの設定

書式

void njStartMotionObj( motion, frame )
const NJS_MOTION *motion
Float frame

引数

motion   モーション構造体へのポインタ
frame   フレーム番号

戻り値

なし

解説

カレントモーションパラメータを設定します。

本関数を呼び出すとカレントノードが、NJS_MDATA(n) 配列の先頭の要素に対応するノードに設定されます。

モーション情報は0番スロットに格納されます。以後のモーション情報は0番スロットが参照されます。

モーション情報のスロットについては、njSetCurMotionInfoSlot() 関数を参照してください。


用例

void UserDrawMotion( const NJS_CNK_OBJECT *object, const NJS_MOTION *motion, Float frame )
{
    njStartMotionObj( motion, frame );
    
    UserPushPopMotion( object );
}

void UserPushPopMotion( const NJS_CNK_OBJECT *cnkobj )
{
    do {
        njPushMatrixEx();
        
        njMotionTransformEx( cnkobj );
        
        if ( ( cnkobj->model != NULL ) && ( !( cnkobj->evalflags & NJD_EVAL_HIDE ) ) ) {
            njCnkEasyDrawModel( cnkobj->model );
        }
        
        if ( cnkobj->child != NULL ) {
            UserPushPopMotion( ( NJS_CNK_OBJECT* )cnkobj->child );
        }
        
        njPopMatrixEx();
        
        cnkobj = cnkobj->sibling;
    } while ( cnkobj != NULL );
}

備考


参照

njStartMotionLink() モーションリンクパラメータの設定
njGetMotionNodeData() 現在のモーションパラメータにおいてのカレントノードの姿勢情報の取得
njMotionTransformEx() 現在のモーションパラメータにおいてのカレントノードのマトリックス作成
njSetNextMotionNodeEx() モーションのカレントノードの更新
njSetCurMotionInfoSlot() カレントモーション情報構造体のスロット番号の指定

njStartMotionObj
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000