##### Ninjaライブラリ - モーション関数

# njCnkEasyMultiDrawShapeMotion

シェープ付きモーションの描画

### 書式

      void njCnkEasyMultiDrawShapeMotion( object, motion, shape, frame )
      NJS_CNK_OBJECT *object
      NJS_MOTION *motion
      NJS_MOTION *shape
      Float frame

### 引数

  *object | オブジェクト構造体へのポインタ
  *motion | モーションリンク構造体へのポインタ
  *shape | モーションリンク構造体へのポインタ(頂点アニメーション)
  frame | フレーム番号(0〜モーションフレーム数未満)

### 戻り値

  なし

### 解説

  モーションをモーションデータにしたがって描画します。 フレーム番号には、浮動小数点が使えるため、モーションデータの補間ができます。 フレーム数が10のモーションの場合、フレーム番号の範囲は0〜10未満(9.9999)となります。 たとえば、フレーム番号を0.5とすると、0フレーム目と1フレーム目のちょうど真ん中の値を補完して描画します。 9〜10未満(9.9999)の補完は、最後のフレームと、最初のフレームの補完となります。 頂点アニメーションの対応している頂点型は下記のとおりです。

  頂点・法線 | NJD_CV_VN

  (ただし、線形補間のみ)

### 用例

      extern NJS_CNK_OBJECT	OBJECT[];
      extern NJS_MOTION	MOTION[];
      extern NJS_MOTION	SHAPE[];
      float	buf[10000];
      float	ff=0.f;
      	：
      InitShape(buf);
      njInitView( &view );
      njSetView( &view );
      njCnkSetEasyMultiLight( 1 );
      njCnkSetEasyMultiLightVector(0.f, 0.f, -1.f);
      njCnkSetEasyMultiAmbient(0.1f, 0.1f, 0.1f);
      njCnkSetEasyMultiLightColor(NJD_CNK_EASY_MULTILIGHT_1,
      		0.6f, 0.5f, 0.3f);
      njCnkSetEasyMultiLightMatrices();
      	：
      njCnkEasyMultiDrawShapeMotion( OBJECT,MOTION,SHAPE,ff );
      ff+=0.2f;
      if( ff >= (MOTION->nbFrame-1) ) ff=0.f;
      	：

### 備考

  チャンクオブジェクト構造体用のモーションです。 モーションとシェープ(頂点アニメーション)がついただけで、描画に関してはモデル描画と同様になります。

### 参照

  njCnkEasyMultiDrawMotion()
  njCnkEasyMultiDrawObject()

njCnkEasyMultiDrawShapeMotion

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999