【发布时间】:2021-02-22 17:40:33
【问题描述】:
我正在尝试设置有保险丝来触发悬停动画,同时仍然能够点击/点击环境中的项目。
将<a-cursor position="0 0 -0.25"></a-cursor> 添加为我的相机的子项会在屏幕上显示环形光标,并允许悬停 mouseenter/mouseleave eventListeners 按预期触发。
然后我将cursor="rayOrigin:mouse;" 添加到场景中,这样我就可以点击场景中的对象,但这会破坏悬停动画。
对于悬停动画,我有一个不可见的平面,但位于具有 mouseenter/mouseleave eventListeners 的动画对象的前面。但是,当光标在光线投射中同时具有平面和对象时,就会调用 mouseleave。如果省略 cursor="rayOrigin:mouse;",则不会发生这种情况。
此处出现故障 --> https://glitch.com/edit/#!/join/49af29f1-557a-4976-bc2b-f89fce5e3ad6
【问题讨论】:
-
没有运行和调试的代码将很难提供帮助。我建议使用glitch.com/~aframe 分享说明问题的简单代码
-
嘿 Diego - 我添加了一个显示问题的故障 - 就像我说的,如果你删除 cursor="rayOrigin:mouse;"它按预期工作,但是我无法单击场景中的对象
-
如果有办法限制光线投射器专注于第一个相交的网格,我认为这可能会有所帮助??
-
您可以确保一次只有一个
cursor处于活动状态 - 无需拥有两只鼠标 :) 查看 this question。 -
下面的答案可以在移动设备上按预期工作,但我仍然在桌面上看到奇怪的行为。例如,如果我将鼠标单击到一侧,它会在保险丝光标位置注册一次单击。有什么方法可以将移动设备上发生的任何事情应用到桌面版本?谢谢
标签: javascript aframe