Three.js中的文本覆盖会中断拖动

Text overlays in Three.js disrupt dragging

本文关键字:中断 拖动 覆盖 文本 js Three      更新时间:2024-06-12

遵循Github上的建议(https://github.com/mrdoob/three.js/issues/1321)在Stakeoverflow(在three.js中动态创建2D文本)中,我选择在HTMLdiv中覆盖文本。

我遇到的问题是,当用户旋转场景,光标经过任何div时,拖动停止。当光标继续在文本div的另一侧时,拖动操作不会恢复。这导致拖动操作神秘地停止,只能通过释放鼠标按钮并重新应用来恢复。

我正在讨论的示例如下:http://www.intmath.com/vectors/3d-space-interactive-applet.php

我使用的是带有controls = new THREE.OrbitControls(camera, renderer.domElement); 的库存标准OrbitControls.js

我试过:

(1) 从div中检测mouseout并设置controls.enabled true不起作用。此外,切换controls.enabled = false当然禁用了控件,但我无法让它们在mouseout上再次启动。

(2) 模拟mouseup(在div上),然后在div的mouseout上模拟mousedown,也没有带来任何运气。

(3) 试图在mouseover上隐藏div,但到那时当然为时已晚——拖动动作已经停止。

(4) 禁用div中文本的突出显示-无更改

那么,在拖动div之后,是否可以重新激活拖动动作?如果可以,如何重新激活?

问候

在标签上设置CSS规则pointer-events: none