Ninja Library - テクスチャ関数

njSetTextureNum

テクスチャ番号によるカレントテクスチャの設定

書式

Sint32 njSetTextureNum( n )
Uint32 n

引数

 テクスチャ番号

戻り値

 1   成功
−1   失敗

解説

カレントテクスチャリストのテクスチャ番号nをカレントテクスチャとして設定します。

これ以降、次にnjSetTextureNum()関数、njSetTextureNumG()関数を行うまでカレントテクスチャになります。

●カレントテクスチャのテクスチャ番号について


テクスチャ設定時に作成した、NJS_TEXNAME構造体で、

NJS_TEXNAME texname[5];
NJS_TEXLIST texlist={texname,5};

/* テクスチャ番号 0 */
njSetTextureName(&texname[0],"file1.pvr",10, NJD_TEXATTR_TYPE_FILE | NJD_TEXATTR_GLOBALINDEX);
/* テクスチャ番号 1*/
njSetTextureName(&texname[1],"file2.pvr",11, NJD_TEXATTR_TYPE_FILE | NJD_TEXATTR_GLOBALINDEX);
/* テクスチャ番号 2*/
njSetTextureName(&texname[2],"file1.pvr",12, NJD_TEXATTR_TYPE_FILE | NJD_TEXATTR_GLOBALINDEX);
/* テクスチャ番号 3*/
njSetTextureName(&texname[3],"file2.pvr",13, NJD_TEXATTR_TYPE_FILE | NJD_TEXATTR_GLOBALINDEX);
/* テクスチャ番号 4*/
njSetTextureName(&texname[4],"file1.pvr",14, NJD_TEXATTR_TYPE_FILE | NJD_TEXATTR_GLOBALINDEX);

と1つのNJS_TEXLIST構造体で設定したNJS_TEXNAME構造体のはじめから 0,1,2,3,,,とテクスチャ番号は付きます。


用例

NJS_TEXNAME texname[2]; 
NJS_TEXNAME texname2[2];
NJS_TEXLIST texlist ={texname,2};
NJS_TEXLIST texlist2 ={texname2,2};
/* Prepare to load a total of 4 textures */
NJS_TEXMANAGE texmng[4];
NJS_TEXSYSTEM texsys[4];
Sint8 *texbuf;

njInitTextureEx(texmng,4,texsys,4);
texbuf = syMalloc(0x20000);
nuInitTextureBuffer(texbuf,0x20000);
njSetTextureName(&texname[0],"file1.pvr",0,
	NJD_TEXATTR_TYPE_FILE|
	NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname[1],"file2.pvr",1,
	NJD_TEXATTR_TYPE_FILE|
	NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname2[0],"file3.pvr",2,
	NJD_TEXATTR_TYPE_FILE|
	NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname2[1],"file4.pvr",3,
	NJD_TEXATTR_TYPE_FILE|
	NJD_TEXATTR_GLOBALINDEX);
/* Load texture */
nuLoadTexture(&texlist);
/* Load texture */
nuLoadTexture(&texlist2);
syFree(texbuf);
/* Set current texture list as texlist */
njSetTexture(&texlist);
/* Set texture 0 from texlist as current texture file1.pvr */
njSetTextureNum(0);
    :
 lit. Drawing texture using texture of file1.pvr
    :
/* Set texlist2 as current texture list */
njSetTexture(&texlist2);
/* Set texture 1 from texlist2 as current texture file4.pvr */
njSetTextureNum(1);
    :
 lit. Drawing texture using texture of file4.pvr
    :

備考

指定するテクスチャがテクスチャメモリにあることが必要です。

参照

njSetTexture() カレントテクスチャリストの設定
njSetTextureNumG() グローバルインデックス番号によるカレントテクスチャの設定

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