Ninjaライブラリ - 2D描画関数

njDrawScroll

2Dスクロール面の描画

書式

void njDrawScroll( *scl )
NJS_SCROLL *scl

引数

*sclスクロール構造体へのポインタ

戻値

なし

解説

2Dスクロール面を描画します。

用例

Uint32 map[4][5];
NJS_TEXLIST texlist;
NJS_TEXMEMLIST *texmemlist;
Sint8 *texbuf;
/* セルの登録 */
/* 5つ分のテクスチャを読み込む準備をする*/
texmemlist = syMalloc(sizeof(NJS_TEXMEMLIST)*5); 
texbuf = syMalloc(0x20000);
njInitVertexBuffer( 1000000, 0, 1000, 0, 0 );
njInitTexture(texmemlist,5);
njLoadTexture(&texlist);
syFree(texbuf);
/*スクロール関数はnjSetTexture,njSetTextureNumを行う必要はありません*/
/* スクロール構造体の設定 */
scl.celps = 128;        /* セルサイズ 8 - 1024	*/
scl.mapw = 5;          /* マップの横のセルの個数  */
scl.maph = 4;          /* マップの縦のセルの個数  */
scl.sx = 1.0f;         /* スケール 横       */
scl.sy = 1.0f;         /* スケール 縦       */
scl.spx = 320.f;        /* スケールセンター x座標 */
scl.spy = 240.f;        /* スケールセンター y座標 */
scl.list = &texlist;      /* テクスチャリスト     */
scl.map = (Uint32*)map;     /* マップ配列        */
scl.mflag = ON;         /* マトリックスフラグ    */
scl.sflag = ON;         /* スケールフラグ      */
scl.pr = -100.f;        /* プライオリティ -1.f(手前)
                  から -65535.f(奥)まで */
scl.px = 0.f;          /* 移動 x座標       */
scl.py = 0.f;          /* 移動 y座標       */
scl.bx = 0.f;          /* マップの書き始め x座標 */
scl.by = 0.f;          /* マップの書き始め y座標 */
scl.cx = 320.f;         /* 回転中心 x座標     */
scl.cy = 240.f;         /* 回転中心 y座標     */
scl.sclc.argb.a = 255;     /* 全体にかける A     */
scl.sclc.argb.r = 255;     /* 全体にかける R     */
scl.sclc.argb.g = 255;     /* 全体にかける G     */
scl.sclc.argb.b = 255;     /* 全体にかける B     */
scl.colmode = NJD_COLOR_MODE_PACKED_TEXTURE;  
                /* カラーモードの設定 NJD_COLOR_MODE_PACKED_TEXTURE
                  NJD_COLOR_MODE_PACKED_TEXTURE_TRANS */

参照

njInitTexture()
njLoadTexture()

njDrawScroll
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998