グラフィック関数 - 2D描画関数

njDrawSprite2D

2Dスプライトの描画

書式

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

引数

*spスプライト構造体へのポインタ
nスプライト番号
priプライオリティ
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半透明や抜きテクスチャ(パンチスルー)を使用する場合にセットする。


用例

256x256のテクスチャを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