A-Frame mouseleave 不会改变光标的颜色
A-Frame mouseleave does not change color of cursor
我有一个应用程序,用户必须通过单击 collada 模型上的正确区域来回答问题 - 有 2 个选项,用户知道当光标变为蓝色时可以选择一个区域(鼠标进入圆柱体,它有 visible=false)。
鼠标变成蓝色很好,但是在鼠标离开圆柱体的地方,光标颜色应该return变成黑色,但它仍然是蓝色。
在此先感谢您的帮助。
<a-cursor id="myCursor" color="black"></a-cursor>
<a-entity id='questionA' geometry="primitive: cylinder; height: .01; radius: 2.5" material="color:green; opacity: 1" correctAnswer > </a-entity>
var cursorVar = document.getElementById('myCursor');
var questionVar = document.getElementById('questionA');
questionVar.addEventListener('mouseenter', function() {
cursorVar.setAttribute('color', 'blue');
});
questionVar.addEventListener('mouseleave', function() {
cursorVar.setAttribute('color', 'black');
});
光标端也发出事件。尝试从光标侦听事件作为解决方法:
cursorEl.addEventListener('mouseleave');
应该在明天或两天后发布的 0.3.0 改进了光标、光线投射器和针对 COLLADA 模型的光线投射。这包括能够限制 raycaster 测试的内容,这在上述解决方法中是理想的。
可能是您的错误中的几个因素,我认为一旦 0.3.0 发布,我就可以更清楚地说明发生了什么。
this CodePen 表现是否符合您的预期?
查看您的代码我看不出问题(可能与游标基元有关)。尝试用上面的 CodePen link 中使用的手动定义的光标基元替换光标基元:
<!-- Camera with gaze cursor -->
<a-entity position="0 1.8 5">
<a-entity camera look-controls wasd-controls>
<a-entity cursor
geometry="primitive: ring; radiusOuter: 0.025;
radiusInner: 0.015; segmentsTheta: 32"
material="color: #283644; shader: flat"
raycaster="far: 30"
position="0 0 -0.75"
id='cursor'>
</a-entity>
</a-entity>
</a-entity>
也就是说,光线投射似乎有点不准确(至少是 0.2.0)。
我有一个应用程序,用户必须通过单击 collada 模型上的正确区域来回答问题 - 有 2 个选项,用户知道当光标变为蓝色时可以选择一个区域(鼠标进入圆柱体,它有 visible=false)。
鼠标变成蓝色很好,但是在鼠标离开圆柱体的地方,光标颜色应该return变成黑色,但它仍然是蓝色。
在此先感谢您的帮助。
<a-cursor id="myCursor" color="black"></a-cursor>
<a-entity id='questionA' geometry="primitive: cylinder; height: .01; radius: 2.5" material="color:green; opacity: 1" correctAnswer > </a-entity>
var cursorVar = document.getElementById('myCursor');
var questionVar = document.getElementById('questionA');
questionVar.addEventListener('mouseenter', function() {
cursorVar.setAttribute('color', 'blue');
});
questionVar.addEventListener('mouseleave', function() {
cursorVar.setAttribute('color', 'black');
});
光标端也发出事件。尝试从光标侦听事件作为解决方法:
cursorEl.addEventListener('mouseleave');
应该在明天或两天后发布的 0.3.0 改进了光标、光线投射器和针对 COLLADA 模型的光线投射。这包括能够限制 raycaster 测试的内容,这在上述解决方法中是理想的。
可能是您的错误中的几个因素,我认为一旦 0.3.0 发布,我就可以更清楚地说明发生了什么。
this CodePen 表现是否符合您的预期?
查看您的代码我看不出问题(可能与游标基元有关)。尝试用上面的 CodePen link 中使用的手动定义的光标基元替换光标基元:
<!-- Camera with gaze cursor -->
<a-entity position="0 1.8 5">
<a-entity camera look-controls wasd-controls>
<a-entity cursor
geometry="primitive: ring; radiusOuter: 0.025;
radiusInner: 0.015; segmentsTheta: 32"
material="color: #283644; shader: flat"
raycaster="far: 30"
position="0 0 -0.75"
id='cursor'>
</a-entity>
</a-entity>
</a-entity>
也就是说,光线投射似乎有点不准确(至少是 0.2.0)。