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