【问题标题】:Three.js click object三.js 点击对象
【发布时间】:2013-10-17 20:17:05
【问题描述】:

我一直在努力让 this 示例为我工作。我快到了。 我的问题是我没有使用全屏画布。我正在使用一个较小的 div,可能会根据分辨率放置不同的位置。

我的工作是在这个 div 内获取鼠标点击的坐标,并且点击对象也可以正常工作。但是一切都有点偏移,可点击区域比对象本身大。

所以我的问题是如何使这个更准确。

此代码 http://jsfiddle.net/phacer/FHD8W/1/ 在我的浏览器中有效,但在 JSFiddle 中无效。 那么在这种情况下,我怎样才能点击我的对象呢?

我认为第 180 行有问题。

var vector = new THREE.Vector3((x / WIDTH) / 1 - 1, -(y / HEIGHT) / 1 + 1, 0.5);

【问题讨论】:

标签: javascript three.js


【解决方案1】:

你很亲密。最大的问题是使用旧的 r54 库。从 r58 开始,Raycasting 变得更好了。所以看看这个新的小提琴http://jsfiddle.net/FHD8W/3/ 我已经删除了 r54 链接并向 github.io 添加了一个外部资源。

另外,你说得对,第 180 行需要稍作调整才能看起来像这样:

var vector = new THREE.Vector3((x / WIDTH) * 2 - 1, -(y / HEIGHT) * 2 + 1, 0.5);

应该这样做

【讨论】:

  • 谢谢,差不多就行了。但它只有在 div 固定时才有效。目前我的 div 是绝对的。知道如何让它发挥作用吗?
  • 想出了一个固定位置的方法。
  • 很高兴听到,是的,获得正确的嵌套偏移值以使鼠标在元素上的坐标恰到好处。
猜你喜欢
  • 2013-07-12
  • 2014-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-02
  • 2016-04-21
  • 2012-07-19
相关资源
最近更新 更多