Ninja Library - モーション関数

njChangeMotionObject

イベントモーションの結果でオブジェクトの変更

書式

void njChangeMotionObject( cnkobj )
NJS_CNK_OBJECT *cnkobj

引数

cnkobj   カレントノードに対応したチャンクオブジェクト構造体へのポインタ

戻り値

なし

解説

njMotionTransformEx()関数でイベントモーションがあった場合、イベントフラグの内容に従ってオブジェクトの内容を変更します。

現在イベントモーションはEVALFLAGのHIDEしか変更していません。


用例

void UserPushPopMotion( const NJS_CNK_OBJECT *cnkobj )
{
	NJS_CNK_OBJECT back_cnkobj;
	
    do {
        njPushMatrixEx();
        
        njMotionTransformEx( cnkobj );
        
        if(njGetMotionEventFlag()){
        	back_cnkobj = *cnkobj;
        	njChangeMotionObject( cnkobj );
        }
        
        if ( ( cnkobj->model != NULL ) && ( !( cnkobj->evalflags & NJD_EVAL_HIDE ) ) ) {
            njCnkEasyDrawModel( cnkobj->model );
        }
        
        if(njGetMotionEventFlag()){
        	*( NJS_CNK_OBJECT* )cnkobj = back_cnkobj;
        }

        if ( cnkobj->child != NULL ) {
            UserPushPopMotion( ( NJS_CNK_OBJECT* )cnkobj->child );
        }
        
        njPopMatrixEx();
        
        cnkobj = cnkobj->sibling;
    } while ( cnkobj != NULL );
}

参照

njMotionLinkTransformEx() 現在のモーションリンクパラメータにおいてのカレントノードのマトリックス作成
njStartMotionObj() 0番スロットへのオブジェクトモーションパラメータの設定
njGetMotionNodeData() 現在のモーションパラメータにおいてのカレントノードの姿勢情報の取得
njSetNextMotionNodeEx() モーションのカレントノードの更新
njGetMotionEventFlag() イベントモーションフラグの結果の取得

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