##### Ninjaライブラリ - テクスチャ関数

# njSetTextureNum

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

### 書式

      Sint32 njSetTextureNum( n )
      Uint32 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,1999