2016-01-26 14 views
5

Wie lade ich mehrere Texturen mit dem neuen THREE.TextureLoader von Three.js?Wie lade ich mehrere Texturen mit dem neuen THREE.TextureLoader

Im Moment bin ich lade meine Texturen wie folgt aus:

var texture1 = THREE.ImageUtils.loadTexture('texture1.jpg'); 
    var texture2 = THREE.ImageUtils.loadTexture('texture2.jpg'); 
    var texture3 = THREE.ImageUtils.loadTexture('texture3.jpg'); 
    var texture4 = THREE.ImageUtils.loadTexture('texture4.jpg'); 
    var texture5 = THREE.ImageUtils.loadTexture('texture5.jpg'); 
    ... 

und Entwickler-Tool von Google Chrome geben die folgende Warnung:

THREE.ImageUtils.loadTexture veraltet wird. Verwenden Sie stattdessen THREE.TextureLoader().

Mein Versuch mit dem neuen THREE.TextureLoader:

var loader = new THREE.TextureLoader(); 

loader.load('texture1.jpg',function (texture1) {}); 
loader.load('texture2.jpg',function (texture2) {}); 
loader.load('texture3.jpg',function (texture3) {}); 
loader.load('texture4.jpg',function (texture4) {}); 
loader.load('texture5.jpg',function (texture5) {}); 

Was mache ich falsch?

http://threejs.org/docs/#Reference/Loaders/TextureLoader

+0

sind Sie eine bekommen Fehler in der Konsole? –

+0

Ihr Titel ist nicht spezifisch genug, + wenn Sie versuchen können, einen Link zu irgendeinem Code zu geben + Ich kenne three.js nicht, aber ich würde vorschlagen, dass Ihnen etwas fehlt, das mit der Ausführung Ihres Codes zusammenhängt, nachdem alle Texturen geladen wurden (Rückruf-Probleme). – AsTeR

+0

nur noch einmal die Frage lesen ... Was ist die eigentliche Natur des Problems –

Antwort

13

Der Lader gibt die Textur, es ist eigentlich ziemlich einfach:

var loader = new THREE.TextureLoader(); 
var texture1 = loader.load('texture1.jpg'); 
var texture2 = loader.load('texture2.jpg'); 

Sie, dass die r74dev Beispiele sehen können bereits mit der neuen Syntax aktualisiert wurde: https://github.com/mrdoob/three.js/blob/dev/examples/webgl_decals.html#L49-L51

+1

Gemäß der Dokumentation gilt das nicht mehr: [TextureLoader] (https://threejs.org/docs/index.html#Reference/Loaders/TextureLoader) Es gibt einen Callback, den Sie verwenden müssen, genannt onLoad. – nagyf

+2

Sie können * diesen Rückruf verwenden, aber Sie * müssen * nicht. In diesem Arbeitsbeispiel lade ich zwei Texturen und verwende sie in der Szene: http://jsfiddle.net/f17Lz5ux/5398/ –

Verwandte Themen