Привет !
Начиная с версии 4.4.0, я заметил, что когда я щелкаю элемент DOM, который находится над спрайтом на холсте pixi. Событие клика спрайта все еще запускается.
Я привел здесь быстрый пример:
v4.4.0
https://jsfiddle.net/ku55deL6/5/
v4.3.5
https://jsfiddle.net/ku55deL6/4/
И спасибо, ребята, за отличную работу!
Спасибо за исправление. Но проблема не решена полностью.
Если вы нажмете несколько раз на элемент DOM над Sprite, я смогу воспроизвести проблему.
Пример с v4.4.1: https://jsfiddle.net/ku55deL6/9/
Приятно :) приключение продолжается!
Хорошо, https://github.com/pixijs/pixi.js/pull/3800 должен исправить другую проблему, которая вызвала это.
@andrewstart не могли бы вы проверить эту скрипку в своей сборке?
Ага, работает. Независимо от того, сколько раз я нажимаю на желтый баннер, кролик остается на месте.
Эй, ребята!
Я пробовал с версией 4.4.2, и кажется, что она все еще не исправлена для каждой ситуации ... если у меня есть два спрайта в одном контейнере, он работает нормально, но если спрайты находятся в разных контейнерах, эта проблема все еще возникает.
Смотрите это: https://jsfiddle.net/FNevesFMQ/uwx24bm8/
На этом этапе я думаю, что вы скрываете ошибки в коде, чтобы заставить меня работать
У меня будет возможность взглянуть на это в эти выходные. Я знаю, что у нас есть модульные тесты, чтобы заставить не получать события указателя для перекрывающихся спрайтов, поэтому мне придется разобраться, почему разные контейнеры меняют это.
Я хочу, чтобы мое приложение часто использовало эту ситуацию, и, к сожалению, это вызывает у меня много ошибок.
Я решил эту проблему с помощью https://d157l7jdn8e5sf.cloudfront.net/fix-interaction-issues/pixi.js , но, вероятно, было бы неплохо, если бы вы использовали его, чтобы узнать, есть ли другие проблемы, которые мы не делаем. не знаю о.
Патч у меня не работал.
Кейс следующий (мобильный, сафари):
@hazardsoft В настоящее время мы
Stage (both interactive and non-interactive)
/ \
parent1 parent2 (together, both interactive and non-interactive)
/ \
item1 item2 (always interactive)
Stage (both interactive and non-interactive)
/ \
item1 item2 (always interactive)
В тестах item1
и item2
перекрываются, причем item1
находится поверх item2
. Чем отличается ваша установка? Не могли бы вы предоставить скрипку / ручку?
@andrewstart , где взять pixi.js с вашими исправлениями? Так что я могу проверить их на соответствие моему делу.
Он был только что выпущен на https://github.com/pixijs/pixi.js/releases/tag/v4.4.3.
Извините, но это еще не исправлено. В примере, который я привел до того, как он заработает, но в моем приложении все еще можно щелкать элементы, которые находятся под выбранным элементом.
На данный момент я не понимал, при каких условиях это происходит.
То же самое для меня, мой случай все еще не исправлен. Попробую подготовить jsfiddle.
Спасибо @hazardsoft , скрипка - определенно лучший способ проверить исправления.
@bigtimebuddy , ребята, еще поработайте :) Я серьезно удивился, что вы
Вот нашёл: https://jsfiddle.net/FNevesFMQ/uwx24bm8/
Если для взаимодействия установлено значение Sprite, оно работает нормально, но если оно назначено контейнеру, поведение неверно, и можно щелкнуть все элементы одновременно.
Это будет исправлено (наконец) с помощью https://github.com/pixijs/pixi.js/pull/3877
Еще несколько проблем в Pixi 4.4.4 с событием mouseup
1- https://jsfiddle.net/8qtz73hf/ (работает с mousedown)
2- https://jsfiddle.net/sbxoya8x/ (не работает с mouseup)
Похоже на побочный эффект присоединения слушателей mouseup к окну, чтобы гарантировать, что мы можем отправлять события mouseupoutside
если мышь находится за пределами холста (или заблокирована другим div). Я предполагаю, что в этом случае нам придется проверить цель события, чтобы убедиться, что это холст, а не другой элемент.
это та же проблема с № 3466?
Должен ли я для этого открывать новый выпуск?
Нет, не нужно. Я был очень занят на работе, поэтому пока не успел починить.
Этот поток был автоматически заблокирован, поскольку после его закрытия в последнее время не было никаких действий. Пожалуйста, откройте новую проблему для связанных ошибок.
Самый полезный комментарий
Я хочу, чтобы мое приложение часто использовало эту ситуацию, и, к сожалению, это вызывает у меня много ошибок.