Ninja Library - セルスプライト関数

njDrawCellStream2D

セルストリームリストの2D描画

書式

void njDrawCellStream2D( streamlist, motion, addtime, cval)
NJS_CELL_STREAM_LIST *streamlist
NJS_MOTION *motion
Sint32 addtime
NJS_CELL_SPRITE_VAL *cval

引数

streamlist   セルストリームリスト
motion   モーションまたはNULL
addtime   前フレームからの追加時間
cval   セルスプライト変数

戻り値

なし

解説

セルストリームリストを設定に従い2D描画します。モーションは設定されているときは 有効になり、ないときはNULLを設定します。addtimeには前フレームからの追加時間を 入れます。1フレームづつ進ませる場合は1を設定します。全体の時間が、0以下にならなければ マイナスも設定できます。セルスプライト変数を設定している場合 セルスプライト変数値を使用します。NULLの場合は、セルスプライトの値を 使用します。njSetCellSpriteMaterial関数やnjSetCellSpriteAttr関数を 使用している場合は、これらの関数の設定値が最後に反映されますので注意してください。


用例


セルスプライトを描画する
NJS_CELL_STREAM_LIST streamlist;
Sint32 *wbuf;
NJS_CELL_SPRITE_VAL cval;
Sint32 size;

/* データは他で設定されているものとする*/
extern NJS_CELL_SPRITE csprite;
extern NJS_CELL_STREAM stream0;
extern NJS_CELL_STREAM stream1;

/* 
	ワークバッファを取得する 
	最大ストリーム数を2とする
*/
size = njCalcCellStreamWorkSize(&csprite,2);
wbuf = syMalloc(size);

/* セルストリームリストを初期化する */
njInitCellStreamList(&streamlist,&csprite,wbuf);

/* セルストリームを追加する */
njAddCellStream(&streamlist,&stream0);
njAddCellStream(&streamlist,&stream1);
			:

/* XYZ座標、スケールを変更する */
cval.flag = NJD_CELLSPRITE_CONSTANT_XYZ|NJD_CELLSPRITE_CONSTANT_SXSY;
cval.cst_pos.x = 100.f;
cval.cst_pos.y = 100.f;
cval.cst_pos.z = 0.5f;
cval.cst_sx = 2.f;
cval.cst_sy = 2.f;
			

main()
{
	/* 1フレームづつ描画する */
	njDrawCellStream2D( &streamlist, &motion, 1,&cval);

}

備考

addtimeの設定に注意してください。

参照

njInitCellStreamList() セルストリームリストの初期化
njAddCellStream() セルストリームの追加
njDeleteCellStream() セルストリームの削除
njResetCellStreamTime() セルストリームリストの時間の初期化
njDrawCellStream3D() セルストリームリストの3D描画

njDrawCellStream2D
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000