njDrawMotion | English
    ▲|INDEX|▼
モーションの描画

### 書　式

      #include <Ninja.h>
      void  njDrawMotion( object, motion, frame )
      NJS_OBJECT  *object
      NJS_MOTION  *motion
      Float    frame

### 引　数

object
  オブジェクト構造体へのポインタ
motion
  モーション構造体へのポインタ
frame
  フレーム番号

### 返　値

  なし

### エラー

  なし

### 機　能

  モーションをモーションデータに従って描画します。
  フレーム番号には、浮動小数点が使えるため、モーションデータの補間ができます。
  フレーム数が１０のモーションの場合、フレーム番号の範囲は０〜１０未満（９．９９９９）となります。
  例えば、フレーム番号を０．５とすると、０フレーム目と１フレーム目のちょうど真ん中の値を、補完して描画します。
  ９〜１０未満（９．９９９９）の補完は、最後のフレームと、最初のフレームの補完となります。

### 用　例

      #define  OBJECT    object_man
      #define  MOTION    motion_man
      extern NJS_OBJECT  OBJECT[];
      extern NJS_MOTION  MOTION[];

      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();
          njDrawMotion( OBJECT, MOTION, ff );

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

          njWaitVSync();
        }
      }

### 備　考

  アクション構造体を、オブジェクトとモーションに分けただけで、そのたは、njAction()と全く同様です。

### 関　連

  njInit3D()
  njDrawModel()
  njDrawObject()
  njControl3D()
  njAction()

njDrawMotion |
    ▲|INDEX|▼