页面元素
<div ref="container" style="width: 100%;height: 100%;overflow: hidden;"></div>
添加精灵图
let sprite = new THREE.Sprite(new THREE.SpriteMaterial({
map: new THREE.TextureLoader().load("图片路径"),
sizeAttenuation:false
}))
sprite.position.set(1,1,1)
sprite.scale.set(0.12, 0.12, 1)
sprite.name = ”jinglingtu“
scene.add(sprite)
实现点击事件
const onClick = (event) => {
console.log(event)
const mouse = new THREE.Vector2();
mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
const raycaster = new THREE.Raycaster();
raycaster.setFromCamera(mouse, camera);
let intersects = raycaster.intersectObject(sprite);
if (intersects.length > 0) {
console.log("点击精灵")
}
};
this.$refs.container.addEventListener('click', onClick, false);