Это ошибка? Использование сенсорного ввода (с помощью мыши) на кнопке, но ничего не делается
Я использую кнопку для перехода на другой слой. Но я не могу перейти к этому слою. Я использую конструкцию 3.
Когда я нажимаю на эту кнопку, нажмите на объект (объект - это кнопка) -> Перейти к слою (Layer02)
Но ничего не происходит. Я использую Touch, но я включил мышь. Я использовал другой объект, чтобы попробовать, например, текстовое поле, и это работает. Все работает, кроме случаев, когда я использовал кнопку.
Это ошибка? Или я не делаю это правильно. Переменные, которые вы видите на рисунке, предназначены для отладки.
Это мои события:
0 ответов
Я думаю, что вы имеете в виду "переход на другой макет" (не слой)
На вашем скриншоте я вижу все ваши события в порядке. Если вы добавите Touch
не нужно добавлять мышь (вы можете использовать мышь для имитации касания в браузере).
Я создаю новый проект с теми же событиями и работает правильно, я прикрепляю .c3p
так что вы можете попробовать это.
https://www.dropbox.com/s/7x1r27rs5a6k5d0/button_layout.c3p?dl=0
Это не ответ, поскольку на него уже получен ответ, но я обнаружил, что лучше никогда не использовать объекты Button, вместо этого использовать спрайты и перехватывать события с помощью триггера "при прикосновении к объекту" мыши или сенсорного плагина. Проблема с Button и другими объектами HTML-формы заключается в том, что они всегда остаются поверх всех слоев и иногда имеют непредсказуемые проблемы при работе в разных системах или даже в разных браузерах. Также обязательно деактивируйте событие для нажатия на кнопку, как только событие сработает, потому что чаще всего ваш единственный щелчок можно интерпретировать как множественные щелчки, которые, в свою очередь, будут вызывать ваш код несколько раз для (обычно) нежелательных эффектов, не зная, почему это случается, но это случается много. Мое обычное решение - это логическое "IsActive" на спрайте кнопки, которое я включаю по щелчку и проверяю, чтобы оно было True, чтобы активировать код позади триггера. (Для объекта Touched:buttonSprite AND buttonSprite.IsActive = TRUE > buttonSprite.setBoolean(isActive)=FALSE, [остальной код]