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

# njLightAction

ライトモーションの実行（アクション構造体対応）

### 書式

> `void njLightAction( light_num, laction, frame )
> Int light_num
> const NJS_LACTION *laction
> Float frame
> `

### 引数

> light_num | ライト番号
> laction | ライトアクション構造体へのポインタ
> frame | フレーム番号(0〜モーションフレーム数(caction->motion->nbFrame)未満)

### 戻り値

> なし

### 解説

> ライトのモーションをモーションデータにしたがって実行します。 ライト構造体のfuncがEasyMulti、SimleMulti関数の場合は、ライト番号（light_num）を 指定します。設定する値は、EasyMulti、SimpleMulti関数のライト番号と同じです。 ただし、アンビエントライトのときと、Easy、Simple関数のときこの値は参照されません。

> 通常、本関数の laction 引数には、ライトモーション用の NAMファイル（またはNJMファイル）中の NJS_LACTION 構造体を指定します。

> 本関数は、njLightMotion( laction->light, laction->motion, frame ); を呼び出すのと等価です。

### 用例

>     #include <Ninja.h>
>     #define LIGHT_ACTION    light_action1;
>     #define ENEMY1_MODEL     model_enemy1;
>     #define ENEMY1_MOTION    motion_enemy1;

>     extern NJS_CACTION     LIGHT_ACTION;
>     extern NJS_MODEL       ENEMY1_MODEL;
>     extern NJS_MOTION      ENEMY1_MOTION;

>     void DrawFunc( Float frame )
>     {

>         njLightAction( NJD_CNK_EASY_MULTILIGHT_1, &LIGHT_ACTION, frame );
>      	njCnkSetEasyMultiLightSwitch(NJD_CNK_EASY_MULTILIGHT_ALL, 1);

>         njPushMatrixEx();
>     	njCnkSetEasyMultiLightMatrices();
>         njTranslate( NULL, EneX, EneY, EneZ );
>         njRotateY( NULL, EneAngY );
>         njCnkEasyMultiDrawMotion( &ENEMY1_MODEL, &ENEMY1_MOTION, frame );

>         njPopMatrixEx();
>     }

### 備考

> 本関数は０番スロットのモーション情報構造体を使用します。
> 本関数を呼び出すとカレントモーション情報構造体は０番スロットに設定されます。

### 参照

> njLightMotion() | ライトモーションの実行

njLightAction

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000