njAction English
■|INDEX|
モーションの描画

書 式

#include <Ninja.h>
void   njAction( action, frame )
NJS_ACTION  *action
Float    frame

引 数

action
アクション構造体へのポインタ
frame
フレーム番号

返 値

なし

エラー

なし

機 能

モーション付オブジェクト構造−アクション構造体−を描画します。
フレーム番号には、浮動小数点が使えるため、モーションデータの補間ができます。
フレーム数が10のモーションの場合、フレーム番号の範囲は0〜10未満(9.9999)となります。
例えば、フレーム番号を0.5とすると、0フレーム目と1フレーム目のちょうど真ん中の値を、補完して描画します。
9〜10未満(9.9999)の補完は、最後のフレームと、最初のフレームの補完となります。

用 例

#define  ACTION    action_man
extern NJS_ACTION  ACTION[];

void main() {
  Float  ff=0.0f;

  njInitSystem( NJD_RESOLUTION_640x480, 1 );
  njInitMatrix( matrix, 128 );
  njInit3D( vbuf, 1024, abuf, fbuf, 32 );
  njInitView( &view );
  njCreateLight( &light, NJD_DIR_LIGHT );
  njSetView( &view );

  while(1) {
    njClearMatrix();
    njAction( ACTION,ff );

    ff+=0.2f;
    if( ff >= (ACTION->motion->nbFrame) ) ff-=ACTION->motion->nbFrame;

    njWaitVSync();
  }
}

備 考

モーションが付いただけで、描画に関してはモデル描画と全く同様になります。
つまり、njControl3Dの設定はすべて同様になります。

関 連

関連項目 njInit3D()
njDrawModel()
njDrawObject()
njControl3D()
njDrawMotion()

njAction
■|INDEX|

Copyright SEGA ENTERPRISES, LTD., 1997