0

メッシュ (立方体) のクリックを管理して、いくつかの処理を実行しようとしています。

    var cubeFor3D = new THREE.Mesh(new THREE.CubeGeometry(40,80,40),img3D);

    scene.add(cubeFor3D);
    //
    renderer.render(scene,camera);
    //
    animate();
         //Track the click on cube3d
    cubeFor3D.on('click', function(){

          // response to click...
          console.log('you have clicked on cube 2D');

 });

実行中に、Web コンソールで次のエラーが発生しました。

TypeError: cubeFor3D.on is not a function 

API ドキュメントでは、次のようにすることが示されています。

mesh.on('click',..

meshしかし、メッシュの本名に置き換える必要があると思います。私は間違っているようです。助けてください。

ファイルに API JS を含めています。<script src='threex.domevent.js'></script>

4

1 に答える 1

0

遅い答えですが、これをinit関数の物乞いに追加すると機能するはずです:

THREE.Object3D._threexDomEvent.camera(カメラ);

実際、私は通常、scene = new THREE.Scene(); の直後に挿入します。

于 2013-02-18T10:59:35.823 に答える