1

three.js を使用して単純なモデル プレビューアに取り組んでいます。ユーザーはモデルのマテリアルのテクスチャを動的にアップロードして変更することができます。

私の人生では、このエラーを乗り越えることができず、addEventListener メソッドを持つはずの three.js の他のローダーでこの問題に遭遇しました。それで、私は何を間違っていますか?r59を使っています

function loadTex(tex)
{
    var texture = new THREE.Texture();

    var imgloader = new THREE.ImageLoader( manager );

    imgloader.addEventListener('load', function(event) {
        // Event stuff
    });

    imgloader.load( tex );
}

この関数は、画像がサーバーに正常にアップロードされた後に呼び出されます。私がしようとしているのは、既に存在するマテリアルのテクスチャを変更することだけです。

4

2 に答える 2

1

r58 から r59 にアップグレードしたときに同じ問題が発生しました。r59 では addEventListener メソッドが利用できないようです ( https://github.com/mrdoob/three.js/blob/master/src/extras/ImageUtils.js )

loadTexture メソッドを使用して、onLoad および onError イベントをリッスンできます。

function onLoad(event) {
// do something
}

function onError(event) {
// do something
}

texture = THREE.ImageUtils.loadTexture(url,mapping,onLoad,onError)

マッピングのために {} を渡すか、ここで定義されている値のいずれかを使用できます

http://threejs.org/docs/59/#Reference/Textures/Texture

于 2013-07-29T11:46:55.263 に答える
0
var imgloader = new THREE.ImageLoader( manager );
imgloader.load(tex, function(event) {
    // Event stuff
});
于 2014-09-09T21:01:09.373 に答える