njSetTextureNum
カレントテクスチャの設定

書 式

#include <Ninja.h>
Sint32 njSetTextureNum(n);
Uint32 n

引 数

n
テクスチャ番号n

返 値

成功
1
失敗
-1

機 能

カレントテクスチャリストのテクスチャ番号nをカレントテクスチャとして設定する。
これ以降、次にnjSetTextureNum、njSetTextureNumGを行うまでカレントテクスチャになる。

●カレントテクスチャのテクスチャ番号について
テクスチャ設定時に作成した、NJS_TEXNAME構造体で、
    NJS_TEXNAME texname[5];
    NJS_TEXLIST texlist={texname,5};
    
/* テクスチャ番号 0 */
njSetTextureNum(&texname[0],"file1.pvr",10,
                 NJD_TEXATTR_TYPE_FILE |
                 NJD_TEXATTR_GLOBALINDEX);

/* テクスチャ番号 1*/
njSetTextureNum(&texname[1],"file2.pvr",11,
                 NJD_TEXATTR_TYPE_FILE |
                 NJD_TEXATTR_GLOBALINDEX);

/* テクスチャ番号 2*/
njSetTextureNum(&texname[2],"file1.pvr",12,
                 NJD_TEXATTR_TYPE_FILE |
                 NJD_TEXATTR_GLOBALINDEX);

/* テクスチャ番号 3*/
njSetTextureNum(&texname[3],"file2.pvr",13,
                 NJD_TEXATTR_TYPE_FILE |
                 NJD_TEXATTR_GLOBALINDEX);

/* テクスチャ番号 4*/
njSetTextureNum(&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};


/* 合計4つ分のテクスチャを読み込む準備をする */
NJS_TEXMEMLIST texmemlist[4];
Sint8 *texbuf;

njInitTexture(texmemlist,4);

texbuf = syMalloc(0x20800);
njInitTextureBuffer(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);

/* テクスチャをロードする */
njLoadTexture(&texlist);

/* テクスチャをロードする */
njLoadTexture(&texlist2);
syFree(texbuf);

/* カレントテクスチャリストをtexlistにする */
njSetTexture(&texlist);

/* カレントテクスチャをtexlistの0番のテクスチャにする file1.pvr*/
njSetTextureNum(0);
        :
略 テクスチャ描画 file1.pvrのテクスチャで描画される
        :
/* カレントテクスチャリストをtexlist2にする */
njSetTexture(&texlist2);

/* カレントテクスチャをtexlist2の1番のテクスチャにする file4.pvr*/
njSetTextureNum(1);
        :
略 テクスチャ描画 file4.pvrのテクスチャで描画される
        :

備 考

指定するテクスチャがテクスチャメモリにあることが必要です。
詳しくは、テクスチャドキュメントを参照してください。

関 連

njSetTexture
njSetTextureNumG

njSetTextureNum

Copyright SEGA ENTERPRISES, LTD., 1998