##### Ninja Library - モーション関数

# njStartMotionObj

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

### 書式

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

### 引数

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

### 戻り値

> なし

### 解説

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

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

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

> モーション情報のスロットについては、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