TextureLoader.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="list.js"></script>
  7. <script src="page.js"></script>
  8. <link type="text/css" rel="stylesheet" href="page.css" />
  9. </head>
  10. <body>
  11. <h1>[name]</h1>
  12. <p class="desc">
  13. 加载[page:Texture texture]的一个类。
  14. 内部使用[page:ImageLoader]来加载文件。
  15. </p>
  16. <h2>例子</h2>
  17. <code>
  18. var texture = new THREE.TextureLoader().load( 'textures/land_ocean_ice_cloud_2048.jpg' );
  19. // 立即使用纹理进行材质创建
  20. var material = new THREE.MeshBasicMaterial( { map: texture } );
  21. </code>
  22. [example:webgl_geometry_cube geometry / cube]
  23. <h2>Example with Callbacks</h2>
  24. <code>
  25. // 初始化一个加载器
  26. var loader = new THREE.TextureLoader();
  27. // 加载一个资源
  28. loader.load(
  29. // 资源URL
  30. 'textures/land_ocean_ice_cloud_2048.jpg',
  31. // onLoad回调
  32. function ( texture ) {
  33. // in this example we create the material when the texture is loaded
  34. var material = new THREE.MeshBasicMaterial( {
  35. map: texture
  36. } );
  37. },
  38. // 目前暂不支持onProgress的回调
  39. undefined,
  40. // onError回调
  41. function ( err ) {
  42. console.error( 'An error happened.' );
  43. }
  44. );
  45. </code>
  46. 请注意three.js r84遗弃了TextureLoader进度事件。对于支持进度事件的TextureLoader ,
  47. 请参考[link:https://github.com/mrdoob/three.js/issues/10439#issuecomment-293260145 this thread]。
  48. <h2>构造函数</h2>
  49. <h3>[name]( [param:LoadingManager manager] )</h3>
  50. <p>
  51. [page:LoadingManager manager] — 加载器使用的[page:LoadingManager loadingManager],默认值为[page:LoadingManager THREE.DefaultLoadingManager].<br /><br />
  52. 创建一个新的[name].
  53. </p>
  54. <h2>属性</h2>
  55. <h3>[property:String crossOrigin]</h3>
  56. <p>
  57. 如果设置了,在开始加载前, 将为图片分配 [link:https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes crossOrigin]
  58. 属性,其值为 *crossOrigin*, 默认为"anonymous"。
  59. </p>
  60. <h3>[property:LoadingManager manager]</h3>
  61. <p>
  62. 加载器正在使用的[page:LoadingManager loadingManager],默认值为[page:DefaultLoadingManager].
  63. </p>
  64. <h3>[property:String path]</h3>
  65. <p>被加载文件的基本路径,请参考[page:.setPath]。默认值为*undefined*.</p>
  66. <h2>方法</h2>
  67. <h3>[method:Texture load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
  68. <p>
  69. [page:String url] — 文件的URL或者路径,也可以为
  70. [link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs Data URI].<br />
  71. [page:Function onLoad] — 加载完成时将调用。回调参数为将要加载的[page:Texture texture].<br />
  72. [page:Function onProgress] — 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含[page:Integer total]和[page:Integer loaded]字节。<br />
  73. [page:Function onError] — 在加载错误时被调用。<br /><br />
  74. 从给定的URL开始加载并将完全加载的[page:Texture texture]传递给onLoad。该方法还返回一个新的纹理对象,该纹理对象可以直接用于材质创建。
  75. 如果采用此方法,一旦相应的加载过程完成,纹理可能会在场景中出现。
  76. </p>
  77. <h3>[method:null setCrossOrigin]( [param:String value] )</h3>
  78. <p>设置[page:.crossOrigin]的属性。</p>
  79. <h3>[method:FileLoader setPath]( [param:String path] )</h3>
  80. <p>
  81. 设置加载文件的基本路径或URL。当加载同一目录中的许多模型,此方法将很有用。
  82. </p>
  83. <h2>源</h2>
  84. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  85. </body>
  86. </html>