7

three.jsリビジョン53を使用しています

Canvas Renderer (Win7 上の IE) でテクスチャをロードし、onLoad イベントのコールバックを追加すると、テクスチャが表示されません。コールバック関数を削除すると、テクスチャが期待どおりに表示されます。

// コールバックを追加すると動作しません

var material = new THREE.MeshBasicMaterial({
            map: THREE.ImageUtils.loadTexture('text_build.png', {}, function()
            {
 //do something
            })
});
var plane = new THREE.Mesh(new THREE.PlaneGeometry(135, 135), material);
plane .overdraw = true;
scene.add(plane );

// コールバックなしで動作中

var material = new THREE.MeshBasicMaterial({
             map: THREE.ImageUtils.loadTexture('text_build.png')
});
var plane = new THREE.Mesh(new THREE.PlaneGeometry(135, 135), material);
plane .overdraw = true;
scene.add(plane );

WebGL レンダラー (FF、WIN7 上の Chrome) で同じコードを実行すると、両方の例が正常に動作します。

誰かが私がここで明らかにやっている間違いを指摘できるかもしれません。

どうもありがとう。

4

1 に答える 1

14

これを試して:

var material = new THREE.MeshBasicMaterial({    
    map: THREE.ImageUtils.loadTexture( 'text_build.png', new THREE.UVMapping(), function() { ... } )
});
于 2012-12-20T22:16:15.637 に答える