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(); }
本関数は0番スロットのモーション情報構造体を使用します。
本関数を呼び出すとカレントモーション情報構造体は0番スロットに設定されます。
njLightMotion() ライトモーションの実行