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

# njSetTextureName

テクスチャネーム構造体にファイル名をセット

### 書式

  void njSetTextureName( *texname, *addr, globalIndex, attr )
  NJS_TEXNAME *texname
  void *addr
  Uint32 globalIndex
  Uint32 attr

### 引数

  *texname | NJS_TEXNAME構造体のポインタ
  *addr | ファイル名又はNJS_TEXINFO構造体のポインタ
  globalIndex | グローバルインデックス
  attr | テクスチャのアトリビュート

### 戻値

  なし

### 解説

  ファイルからテクスチャをロードするときaddrにファイル名を設定します。 また、attrにはNJD_TEXATTR_TYPE_FILE を指定してください。 PVR形式のテクスチャで、グローバルインデックスをファイル内のグローバルインデックスを使用しない場合、 またはPVR形式のテクスチャにグローバルインデックスのチャンクが無い場合、attrにNJD_TEXATTR_GLOBALINDEXを 設定し、globalIndexにグローバルインデックスを設定してください。 メモリテクスチャの場合は、addrにnjSetTextureInfoで設定したNJS_TEXINFO構造体のポインタを設定します。 また、attrには、NJD_TEXATTR_TYPE_MEMORYをglobalIndexにはグローバルインデックスを指定してください。

### 用例

      NJS_TEXNAME texname[2];
      NJS_TEXLIST texlist ={texname,2};
      /* 合計2つ分のテクスチャを読み込む準備をする */
      NJS_TEXMEMLIST texmemlist[2];
      Sint8 *texbuf;
      njInitTexture(texmemlist,2);
      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);
      /* テクスチャをロードする */
      njLoadTexture(&texlist);
      syFree(texbuf);
      /* カレントテクスチャリストをtexlistにする */
      /* njLoadTexture関数の前に行っても問題はない */
      njSetTexture(&texlist);
      /* カレントテクスチャをtexlistの0番のテクスチャにする file1.pvr*/
      njSetTextureNum(0);
          ：
      略 テクスチャ描画 file1.pvrのテクスチャで描画される
          ：

### 備考

  ここで設定したグローバルインデックスはNJS_TEXNAME構造体のtexaddrにいったん保存され、 テクスチャのロード時にNJS_TEXMEMLIST構造体のglobalIndexに渡されます。 その時、NJS_TEXNAME構造体のtexaddrは書き換えられてしまいます。 テクスチャをロードし、テクスチャをリリース、その後もう一度テクスチャをロードする場合には、もう一度設定し直してください。 詳しくは、テクスチャドキュメントを参照してください。

### 参照

  njSetTextureInfo()

njSetTextureName

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998