无法让点击事件在aframe中运行

问题描述 投票:0回答:1

我正在尝试使用AFrame库为游戏编写库存系统。我有一个自定义组件,用于设置我正在拾取的项目不可见并将手头项目显示为可见。然而,当它运行时,它将无法工作。

目前,我点击了clicklistener设置检查。单击时,将其设置为将目标项设置为不可见(el),并将手中的对象设置为可见(handObj)。看起来点击功能不是晚上运行,因为我有一个console.log设置,只是检查函数是否运行。

编辑:我用示例项目https://glitch.com/~tundra-ironclad创建了一个小故障

var hands = [null, null];

AFRAME.registerComponent('pickUp', {
    schema: {
        handObj: {type: 'selector', default: ''},
        id: {type: 'string', default: ''}
    },

    init: function() {
        var el = this.el;
        var data = this.data;   

        el.addEventListener('click', function() {
            //pickup="target= #right
            console.log("hello");

            if(hands[0] == null) hands[0] = data.id;
            else if (hands[1] == null) hands[1] = data.id;
            else break; 

            el.setAttribute('visible', 'false');
            data.handObj.setAttribute('visible', 'true');

        });
    }
});
 <a-box id="left1"
     color="#AA0000" class="clickable"
     position="8.000 0.200 7" depth = ".25"  height = ".25" width = ".25"

     event-set__enter="_event: mouseenter; material.color: #FF0000"
     event-set__leave="_event: mouseleave; material.color: #AA0000"

     pickUp="handObj: #left2; id: left"
    >

我不明白为什么click函数根本不起作用,因为我从教程中复制了格式并且这些组件工作正常。

javascript html aframe game-development
1个回答
0
投票

你的例子冻结我,但尝试pick-up而不是pickUp。 HTML属性不区分大小写。我们应该为此添加警告。

© www.soinside.com 2019 - 2024. All rights reserved.