- 使用threejs写项目时,点击到了画布中的元素,却没有获取到信息怎么回事?
以下是我写的tap方法,用于获取点击到的元素信息 tap(e) { let that = this; console.log('canvas', e); console.log("event.clientX:" + e.touches[0].clientX) console.log("event.clientY:" + e.touches[0].clientY) // 声明 raycaster 和 mouse 变量 var raycaster = new THREE.Raycaster(); var mouse = new THREE.Vector2(); // 通过鼠标点击位置,计算出 raycaster 所需点的位置,以屏幕为中心点,范围 -1 到 1 mouse.x = (e.touches[0].clientX / window.innerWidth) * 2 - 1; mouse.y = -(e.touches[0].clientY / window.innerHeight) * 2 + 1; //通过鼠标点击的位置(二维坐标)和当前相机的矩阵计算出射线位置 let camera = (that.data.params.orthographicCamera) ? that.data.orthographicCamera : that.data.perspectiveCamera; raycaster.setFromCamera(mouse, camera); // 获取与射线相交的对象数组,其中的元素按照距离排序,越近的越靠前 var intersects = raycaster.intersectObjects(that.data.scene.children); console.log(intersects); }, 当我点击图中蓝色位置 [图片] 控制台的信息获取为空 [图片] 当我点击绿圈位置时 [图片] 却获取到了信息 [图片] 发现获取信息的位置漂移了,然而同一套逻辑的代码在web上运行不会出现错误(小程序里的就是我根据web上写过得代码改的),请问这是什么原因?有没有遇到相同情况的?
2019-12-02 - 使用threejs时,如何用sprite创建标签呢,要新建一个画布吗?
如何用sprite创建标签呢,要新建一个画布吗? [图片]
2019-12-02 - 小程序里引入threejs的话,用不了getContext('2d')了吗?
[图片] 这里直接提示我getContext for canvas 2d is not yet supported 现在已经不支持使用canvas.getContext('2d')了吗
2019-11-29 - 请问微信小游戏是否支持CSS3DRenderer的渲染,具体要怎么写
请问微信小游戏是否支持CSS3DRenderer的渲染,具体要怎么写
2019-05-26 - 开发工具的模拟器可以运行,真机调试卡住是怎么回事?
请问一下,我写了一个基于threejs的小游戏,在微信开发工具的模拟器里是正常的,也没有报错,但是一用扫二维码真机调试时,跳过断点之后就卡在那个小游戏加载界面进不去了,这个要怎么解决?
2019-05-20