njDrawSprite3D
３Ｄスプライトの描画

### 書　式

      #include <Ninja.h>
      void  njDrawSprite3D( sp, n, attr )
      NJS_SPRITE  *sp
      Int    n
      Uint32    attr

### 引　数

NJS_SPRITE *sp
  スプライト構造体へのポインタ
n
  スプライト番号
attr
  アトリビュート

### 返　値

  なし

### エラー

  なし

### 機　能

  ３Ｄのスプライトを描画します。
  スプライトは簡単にテクスチャや、そのアニメーションを描画する事ができます。

  スプライトはＸＹＺ空間に描画されます。

  アトリビュートは以下の設定が可能です。

  NJD_SPRITE_ANGLE | テクスチャの回転を有効にします。
  NJD_SPRITE_COLOR | テクスチャのカラー演算を有効にします。 カラーデータはnjSetConstantMaterial()でセットした値を使います。
  NJD_SPRITE_HFLIP | テクスチャを左右反転します。
  NJD_SPRITE_VFLIP | テクスチャを上下左右反転します。
  NJD_SPRITE_ALPHA | 半透明を使用する場合にセットします。抜きテクスチャの場合でもセットします。
  NJD_SPRITE_SCALE | 常に画面正面を向きます。

  スプライト構造体
  NJS_SPRITE
  テクスチャアニメーション構造体
  NJS_TEXANIM

### 用　例

  ２５６ｘ２５６のテクスチャを２枚使用し、それぞれ４分割して８つのテクスチャアニメーションパターンを作成します。

      NJS_TEXANIM  anim[] = {
        { 128,128, 64, 64,  0,  0,127,127,  0, 0 },
        { 128,128, 64, 64,128,  0,255,127,  0, 0 },
        { 128,128, 64, 64,  0,128,127,255,  0, 0 },
        { 128,128, 64, 64,128,128,255,255,  0, 0 },
        { 128,128, 64, 64,  0,  0,127,127,  1, 0 },
        { 128,128, 64, 64,128,  0,255,127,  1, 0 },
        { 128,128, 64, 64,  0,128,127,255,  1, 0 },
        { 128,128, 64, 64,128,128,255,255,  1, 0 },
      };

      main() {
        NJS_SPRITE  sprite;

        各種初期設定

        sprite.tlist = &texlist;
        sprite.tanim = anim;
        sprite.ang = 0;
        sprite.sx = 1.0f;
        sprite.sy = 1.0f;
        sprite.p.x = 0.0f;
        sprite.p.y = 0.0f;
        sprite.p.z = 0.0f;

        sbInitSystem( NJD_RESOLUTION_640x480_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
        njInitMatrix( matrix, 128, 0 );
        njInit3D( vbuf, 4096 );

        njInitView( &view );
        njCreateLight( &light, NJD_DIR_LIGHT );
        njSetView( &view );

        njInitTexture( texmemlist,20);
        njLoadTexture(&texlist);

        while(1) {
          njClearMatrix();

          njTranslate( NULL, 0.f, 0.f, -400.f );
          njDrawSprite3D( &sprite, 2, NJD_SPRITE_ANGLE );

          sprite.angle += 100;

          ......
        }

      }

### 備　考

### 関　連

  njDrawSprite2D
  njSetConstantMaterial
  njLoadTexture
  njDrawModel

  njDrawSprite3D |