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

書 式

#include <Ninja.h>
Sint32 njSetTexture(texlist);
NJS_TEXLIST *texlist

引 数

NJS_TEXLIST *texlist
NJS_TEXLIST構造体のポインタ

返 値

成功
1
失敗
-1

機 能

カレントテクスチャリストにtexlistを設定する。

用 例

NJS_TEXNAME texname[2];
NJS_TEXNAME texname2[2];

NJS_TEXLIST texlist ={texname,2};
NJS_TEXLIST texlist ={texname2,2};
Sint8 *texbuf;

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

njInitTexture(texmemlist,3);

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],"file1.pvr",0,NJD_TEXATTR_TYPE_FILE|
            NJD_TEXATTR_GLOBALINDEX);
njSetTextureName(&texname2[1],"file3.pvr",1,NJD_TEXATTR_TYPE_FILE|
            NJD_TEXATTR_GLOBALINDEX);

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

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

/* カレントテクスチャリストをtexlistにする */
/* njLoadTexture関数の前に行っても問題はない */
njSetTexture(&texlist);

/* カレントテクスチャをtexlistの0番のテクスチャにする file1.pvr*/
njSetTextureNum(0);

        :
略 テクスチャ描画 file1.pvrのテクスチャで描画される
        :

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

/* カレントテクスチャをtexlist2の1番のテクスチャにする file3.pvr*/
njSetTextureNum(1);

        :
略 テクスチャ描画 file3.pvrのテクスチャで描画される
        :

備 考

これ以降、次にnjSetTextureまでカレントテクスチャリストになる。
テクスチャ関連関数、njXXXXNum、njXXXXNumGなどの関数は、カレントテクスチャリストに対して操作する。
詳しくは、テクスチャドキュメントを参照してください。

関 連

njSetTextureNum
njSetTextureNumG

njSetTexture

Copyright SEGA ENTERPRISES, LTD., 1998