Возникли проблемы при получении события щелчка для запуска в рамке - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь написать систему инвентаря для игры, используя библиотеку AFrame. У меня есть пользовательский компонент, который настроен для установки предмета, который я собираю, на невидимость и превращения предмета в руке видимым. Однако, когда он работает, он не будет работать.

В настоящее время при щелчке у меня есть проверка настроек clickl. При щелчке устанавливается целевой элемент invisible (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"
    >

Я не понимаю, почему функция щелчка не работает вообще, так как я скопировал форматирование из учебников, и эти компоненты работают нормально.

1 Ответ

0 голосов
/ 29 апреля 2019

Ваш пример зависает для меня, но попробуйте pick-up вместо pickUp.Атрибуты HTML не чувствительны к регистру.Мы должны добавить предупреждение для этого.

...