Использование Hammer.js в мини-игре WeChat

Я пытался использовать Hammer.js для сенсорного UX в мини-игре WeChat. Я искал какое-то время, но не смог найти похожий вопрос или ответ.

Сначала я просто попытался использовать Hammer.js обычным способом. После создания Canvas с помощью document.createElement('canvas') с помощью weapp-adapter.js инициализировал Hammer.js следующим образом:

        this._hammer = new Hammer(canvas);
        this._hammer.on('tap', (event: HammerInput) => {
            console.log('tap', event);
        });

Но консоль ничего не регистрирует в событии касания. Поскольку в мини-игре Canvas of WeChat нет обработчиков событий, это вполне нормально.

Тогда как я могу использовать Hammer.js в мини-игре WeChat?


person Hotte Shen    schedule 07.02.2020    source источник
comment
Если это невозможно или так сложно, есть ли другая библиотека для анализа жестов, такая как Hammer.js, которую можно использовать в мини-игре WeChat?   -  person Hotte Shen    schedule 08.02.2020


Ответы (1)


Hammer.js хорошо работает с мини-игрой WeChat. Моя ошибка была в операторе import для Hammer.js.

Прежде чем опубликовать этот вопрос, я использовал

import * as Hammer from 'hammerjs'

, который не работал, как я ожидал. Я изменил эту строку как

import 'hammerjs'

и это сработало. Все сенсорные UX-события регистрируются в консоли, такие как tap, 'pan' и т. д.

Но такой импорт менее интуитивен. В основном я использую операторы import как import SOMETHING from 'somemodule'. Хотя я пишу этот ответ сам, я хотел бы получить ответ еще раз, если кто-то даст мне знать более подробно.

person Hotte Shen    schedule 08.02.2020