THREE.JS点击事件
- 1.增加监听点击事件
- 2.点击事件实现
- 3.记得关闭页面时 销毁此监听事件
1.增加监听点击事件
renderer.domElement.addEventListener("click", this.onClick, false);
注:初始化render时监听
2.点击事件实现
onClick(event) {const raycaster = new THREE.Raycaster();const mouse = new THREE.Vector2();// 计算鼠标或触摸点的位置mouse.x = (event.clientX / this.$refs.draw.offsetWidth) * 2 - 1;mouse.y = -(event.clientY / this.$refs.draw.offsetHeight) * 2 + 1;// 更新射线 注意——> camera 是相机 定义到data里的raycaster.setFromCamera(mouse, camera);// 计算与所有对象的交点const intersects = raycaster.intersectObjects(scene.children, true);if (intersects.length > 0) {//可以打印一下,intersects[0].object 是点击的设备模型信息 }
},
3.记得关闭页面时 销毁此监听事件
renderer.domElement.addEventListener("click", null, false); //remove listener to render