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

njDrawSprite2D

2Dスプライトの描画

書式

void njDrawSprite2D( *sp, n, pri, attr ) 
NJS_SPRITE *sp 
Int n 
Float pri 
Uint32 attr 

引数

*sp   スプライト構造体へのポインタ
 スプライト番号
pri   プライオリティ(−1.0〜−65535.0)
attr   アトリビュート

戻り値

なし

解説

2Dのスプライトを描画します。 スプライトは簡単にテクスチャや、そのアニメーションを描画することができます。 プライオリティは、Z値を設定します。奥がマイナス方向で−1.0〜−65535.0までです。 アトリビュートは以下の設定ができます。

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


用例

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 = 0x4000;
 sprite.sx = 1.0f;
 sprite.sy = 1.0f;
 sprite.p.x = 320.0f;
 sprite.p.y = 240.0f;
 njLoadTexture(&texlist);
 njDrawSprite2D( &sprite, 2, -150.f, NJD_SPRITE_ANGLE );
  	:
}

参照

njDrawSprite3D()
njSetConstantMaterial()
njLoadTexture()

njDrawSprite2D
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999