| njDrawSprite2D | English |
|---|---|
■|INDEX|▼ | |
| 2Dスプライトの描画 | |
#include <Ninja.h> void njDrawSprite2D( sp, n, pri, attr ) NJS_SPRITE *sp Int n Float pri Uint32 attr
プライオリティは、Z値を設定します。奥がマイナス方向で−1.0〜−65535.0までです。
アトリビュートは以下の設定ができます。
| NJD_SPRITE_ANGLE | テクスチャの回転を有効にします |
| NJD_SPRITE_COLOR | テクスチャのカラー演算を有効にします カラーデータはnjSetConstantMaterial()でセットした値を使います |
| NJD_SPRITE_HFLIP | テクスチャを左右反転します |
| NJD_SPRITE_VFLIP | テクスチャを上下反転します |
| NJD_SPRITE_HVFLIP | テクスチャを上下左右反転します |
| NJD_SPRITE_ALPHA | 半透明を使用する場合にセットします 抜きテクスチャの場合でもセットします |
typedef struct {
NJS_POINT3 p; /* point */
NJS_VECTOR v; /* normal */
Float sx,sy; /* scale */
Angle ang; /* angle */
NJS_TEXLIST *tlist; /* texture list */
NJS_TEXANIM *tanim; /* animation list */
} NJS_SPRITE;
typedef struct {
Sint16 sx,sy; /* size */
Sint16 cx,cy; /* center */
Sint16 u1,v1; /* tex1 */
Sint16 u2,v2; /* tex2 */
Sint16 texid; /* texture id */
Sint16 attr; /* attribute */
} NJS_TEXANIM;
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 );
......
}
| njDrawSprite2D | ■|INDEX|▼ |
|---|