njDrawSprite2D
2Dスプライトの描画

書 式

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

引 数

NJS_SPRITE *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半透明を使用する場合にセットします
抜きテクスチャの場合でもセットします

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

用 例

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