Сканер QR-кодов в задании
На уровень можно добавить кнопку, которая включает камеру телефона и вводит отсканированный QR-код как обычный ответ. Удобно, когда коды на локации напечатаны в виде QR: игроку не нужно перепечатывать длинную строку руками.
Не путайте с разделом Распечатка QR-кодов одноразовых команд — там речь про раздаточные QR для входа в игру, а здесь про сканирование кодов внутри уровня.
Как включить
Достаточно вызвать qrReaderInit() в поле «Скрипт задания». Движок подключает библиотеку сканера только тогда, когда встречает в скрипте это имя.
qrReaderInit();
Рядом с кнопкой «Ответить» появится кнопка QR Code. По нажатию открывается окно камеры (запрашивается разрешение браузера), по повторному — закрывается.
Что происходит при сканировании
Распознанный текст отправляется как ответ — ровно так же, как если бы игрок набрал его в поле ввода и нажал «Ответить». Никакой отдельной настройки не нужно: в QR-код зашивается тот же текст, который заведён у вас в кодах уровня.
Один и тот же код подряд повторно не отправляется, поэтому камеру можно держать открытой — она не будет слать один ответ десятки раз в секунду.
О чём стоит помнить
- Камера включается только с разрешения игрока. Если он откажет или камеры нет, появится сообщение об ошибке — оставьте возможность ввести код руками, поле ввода никуда не девается.
- Сканер запускает камеру, направленную от игрока (основную).
- Кнопка переживает автообновление уровня, повторных обработчиков не накапливается.
- QR-код можно нарисовать любым генератором. В нём должен лежать просто текст ответа, без ссылок и префиксов, иначе движок получит не тот ответ.