Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 周期性示例如何查找单击的元素?_Javascript_3d_Three.js - Fatal编程技术网

Javascript 周期性示例如何查找单击的元素?

Javascript 周期性示例如何查找单击的元素?,javascript,3d,three.js,Javascript,3d,Three.js,我三岁了。 我正在玩这个样品 我想知道什么时候单击了一个特定的元素,看到了几个示例并添加了下面的代码 在函数内部设置断点,intersects.length始终为0,即使在元素内部单击。 请帮忙!我错过了什么? 提前谢谢 function onDocumentMouseDown( event ) { event.preventDefault(); controls.enabled = true; mouse.x = ( event.c

我三岁了。 我正在玩这个样品

我想知道什么时候单击了一个特定的元素,看到了几个示例并添加了下面的代码 在函数内部设置断点,intersects.length始终为0,即使在元素内部单击。 请帮忙!我错过了什么? 提前谢谢

    function onDocumentMouseDown( event ) {

        event.preventDefault();
        controls.enabled = true;

        mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
        mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
        var vector = new THREE.Vector3( mouse.x, mouse.y, 0.5 );
        //var vector = new THREE.Vector3( ( event.clientX / window.innerWidth ) * 2 - 1, - ( event.clientY / window.innerHeight ) * 2 + 1, 0.5 );
        projector.unprojectVector( vector, camera );

        var raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() );

        var intersects = raycaster.intersectObjects( objects,true );

        if ( intersects.length > 0 ) {

            intersects[ 0 ].object.material.color.setHex( Math.random() * 0xffffff );

            var particle = new THREE.Particle( particleMaterial );
            particle.position = intersects[ 0 ].point;
            particle.scale.x = particle.scale.y = 8;
            scene.add( particle );

        }

    }

Raycaster不与CSS3Denderer合作。
只需使用elments onclick事件

谢谢你,这非常有用。我在概念上忽略了这一点,你的回答帮助我向前迈进。