##### Ninjaライブラリ - スプライト関数

# njDrawSprite3D

3Dスプライトの描画

### 書式

      void njDrawSprite3D( *sp, n, attr )
      NJS_SPRITE *sp
      Int n
      Uint32 attr

### 引数

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

### 戻り値

  なし

### 解説

  3Dのスプライトを描画します。 スプライトは簡単にテクスチャや、そのアニメーションを描画することができます。 スプライトはXYZ空間に描画されます。

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

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

### 用例

      256×256のテクスチャを2枚使用し、それぞれ4分割して
      8つのテクスチャアニメーションパターンを作成します。
      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;
      	:
       njInitSystem( 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

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999