##### Ninja Library - 描画関数

# 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;
>     /* Initial setup of each type */
>      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);
>      njInit3D( vbuf, 4096 );
>      njCreateLight( &light, NJD_DIR_LIGHT );

>      njInitTextureEx( texmng,20,texsys,20);
>      nuLoadTexture(&texlist);

>      while(1) {
>       njTranslate( NULL, 0.f, 0.f, -400.f );
>       njDrawSprite3D( &sprite, 2, NJD_SPRITE_ANGLE );
>       sprite.angle += 100;
>       	:
>      }
>     }

### 参照

> njDrawSprite2D() | 2Dスプライトの描画
> njSetConstantMaterial() | モデルマテリアルの設定
> nuLoadTexture() | テクスチャのロード(完了復帰)

njDrawSprite3D

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000