Touch.enable не работает в Create JS через Animate CC - PullRequest
0 голосов
/ 27 февраля 2020

Я создал файл html5 canvas в Animate CC, и я не могу заставить его реагировать на прикосновения при запуске на устройстве с сенсорным экраном. Я создал урезанный файл, чтобы продемонстрировать проблему.

Все остальные сообщения, которые я нашел в Интернете, были решены с помощью create js .Touch.enable (stage) , однако , это не позволяет сенсорный для меня (и он возвращает ложь). Я также включил добавление прослушивателя событий touchstart , но это тоже не помогает.

Я также попытался this безрезультатно.

Для отладки в консоли я использую chrome в режиме эмуляции устройства. В Animate CC, центральная сцена и заставляют реагировать оба отключены в настройках publi sh.

Результаты из приведенного ниже примера кода :

  • Включение касания возвращает ложь (так что это, вероятно, проблема)
  • нажатие кнопки мыши возвращает «мышь вниз» и перемещает шар.
  • нажатие касания ничего не делает
  • отпускание касания возвращает «мышь вниз» и сдвигает шар.

Есть идеи, где я ошибаюсь? Анимация CC полностью обновлен и создает JS v1.0.0

Ожидаемое поведение состоит в том, что обработчик сенсорного запуска или размышления запускается при касании, как при использовании мыши.

console.log("Enable touch: "+createjs.Touch.enable(stage) );  // returns false

ball = this.ball_mc;

// mouse mouse event
ball.on("mousedown", function(event) {
    console.log("mouse down");
    ball.x += 10;
});

// finger down event
ball.addEventListener("touchstart", function mouseDownHandler(e) {
    console.log("finger down");
    ball.x += 10;
});

1 Ответ

0 голосов
/ 04 марта 2020

Вот обновление и ответ. Мой код выше верен, и обнаруженная проблема на самом деле не является проблемой.

Пока я проводил свой первый тест на сенсорном устройстве, с тех пор я этого не делал и предполагал, что Chrome dev tools touch device Эмулятор был точным. Оказывается, это не так! Chrome dev tools не отправляет событие нажатия мыши при прикосновении и, таким образом, точно не эмулирует сенсорное устройство.

Поэтому приведенный выше код работает нормально, но его необходимо запустить непосредственно на сенсорном устройстве. .

...