【发布时间】:2023-03-20 05:56:01
【问题描述】:
edit:-> 找到导致我的问题的原因https://github.com/aframevr/aframe/issues/3297 需要解决该问题
('我有一个奇怪的问题。我有两个场景。当我按下一个按钮时,你切换到另一个场景,还有另一个按钮可以让你回到第一个场景。我点击它来激活按钮或凝视器(定影器)。现在我的问题:当我凝视按钮 1 并更改场景然后单击按钮 2 返回时,按钮 1 已被触发(因此它再次更改场景)。如果我只是凝视按钮或者只是在我凝视某些东西时单击它们一切正常,然后单击它失败。这里需要一些帮助一些代码:')
<!-----scene1------------------------------>
<a-entity id="browser_scene" visible="true">
<a-entity id="scene1" visible="true">
<!--Icons-->
<a-image id="introid" src="#introicon" position="-20 12 -13" width="9" height="9" rotation="0 75 0" transparent="true" onclick="playscene2()" event-set__enter="_event: mouseenter; color: #33ccff"
event-set__leave="_event: mouseleave; color: #00000"></a-image>
</a-entity>
<!-----scene2------------------------------->
<a-entity id="scene2" visible="false">
<!--Videosphere (intro)-->
<a-videosphere src="#intro"></a-videosphere>
<!--Icons-->
<a-image id="haus" src="#home" position="-5 -6 -1.75" width="2" height="2" rotation="35 -90 -180" transparent="true" onclick="playscene1()" event-set__enter="_event: mouseenter; color: #33ccff"
event-set__leave="_event: mouseleave; color: #00000"></a-image>
</a-entity>
function playscene1() {
document.getElementById('scene1').setAttribute('visible', 'true')
document.getElementById('scene2').setAttribute('visible', 'false')
document.getElementById('haus').setAttribute('visible', 'false')
var videoEl_1 = document.querySelector('#intro');
skyon()
document.querySelector('#intro').pause();
document.querySelector('#intro').currentTime = 0;
}
</script>
function playscene2() {
document.getElementById('scene1').setAttribute('visible', 'false')
document.getElementById('scene2').setAttribute('visible', 'true')
document.getElementById('haus').setAttribute('visible', 'true')
var videoEl_1 = document.querySelector('#intro');
document.querySelector('#intro').pause();
document.querySelector('#intro').currentTime = 0;
skyout()
videoEl_1.play();
document.getElementById('intro').addEventListener('ended',myHandler_1,false);
function myHandler_1(e) {
if(!e) { e = window.event; }
playscene3()
}
}
</script>
<!--camera-->
<a-entity foo rotation="0 90 0">
<a-camera user-height="0" look-controls>
<a-cursor fuse="true" fusetimeout="2000"
position="0 0 -0.1"
geometry="primitive: ring;
radiusInner: 0.002;
radiusOuter: 0.003"
material="color: red; shader: flat">
<a-animation attribute="scale"
to="3 3 3"
dur="2000"
begin="cursor-fusing"
fill="backwards"
easing="linear">
</a-animation>
</a-cursor>
<a-entity id="redcircle" position="0 0 -0.1"
geometry="primitive: ring;
radiusInner: 0.007;
radiusOuter: 0.0077"
material="color: red; opacity: 0.25; shader: flat"></a-entity>
</a-camera>
</a-entity>
【问题讨论】:
-
如果有人需要更多信息或者我的问题无法理解,请询问:D
-
请添加您的光标/光线投射器代码,以便我们查看配置。如果您可以发布一个简单演示的链接,那也会有所帮助。
-
光标位于我发布的代码底部的相机实体中。如果@dirkk0 示例对我有帮助,我会尝试。如果没有,我尝试创建一个演示以便更好地理解。
-
啊,对不起。不知道我是怎么错过的。
标签: jquery events triggers aframe