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

# njMotionLinkTransformEx

現在のモーションリンクパラメータにおいてのカレントノードのマトリックス作成

### 書式

> `void njMotionLinkTransformEx( cnkobj )
> const NJS_CNK_OBJECT *cnkobj
> `

### 引数

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

### 戻り値

> なし

### 解説

> 予め設定されているモーションリンク情報に従った カレントノードのモーション(移動・回転・スケール)をカレントマトリクスに反映させます。

> 本関数を実行する前に njStartMotionLink() でモーション情報を設定する必要が有ります。

> 本関数は njGetMotionLinkNodeData() 関数によって取得したノード情報に基づいて、マトリックス を作成します。

> 本関数と等価なソースコードが、njGetMotionLinkNodeData() 関数の用例欄に示されています。

### 用例

>     void UserDrawMotionLink( const NJS_CNK_OBJECT *object, const NJS_MOTION_LINK *motion_link, Float rate )
>     {
>         njStartMotionLink( motion_link, frame );

>         UserPushPopMotion( object );
>     }

>     void UserPushPopMotion( const NJS_CNK_OBJECT *cnkobj )
>     {
>         do {
>             njPushMatrixEx();

>             njMotionLinkTransformEx( 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() | モーションリンクパラメータの設定
> njGetMotionLinkNodeData() | 現在のモーションリンクパラメータにおいてのカレントノードの姿勢情報の取得
> njSetNextMotionNodeEx() | モーションのカレントノードの更新

njMotionLinkTransformEx

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000