authors_main:task_editor:advanced:qr_scanner

Сканер QR-кодов в задании

На уровень можно добавить кнопку, которая включает камеру телефона и вводит отсканированный QR-код как обычный ответ. Удобно, когда коды на локации напечатаны в виде QR: игроку не нужно перепечатывать длинную строку руками.

Не путайте с разделом Распечатка QR-кодов одноразовых команд — там речь про раздаточные QR для входа в игру, а здесь про сканирование кодов внутри уровня.

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

qrReaderInit();

Рядом с кнопкой «Ответить» появится кнопка QR Code. По нажатию открывается окно камеры (запрашивается разрешение браузера), по повторному — закрывается.

Распознанный текст отправляется как ответ — ровно так же, как если бы игрок набрал его в поле ввода и нажал «Ответить». Никакой отдельной настройки не нужно: в QR-код зашивается тот же текст, который заведён у вас в кодах уровня.

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

  • Камера включается только с разрешения игрока. Если он откажет или камеры нет, появится сообщение об ошибке — оставьте возможность ввести код руками, поле ввода никуда не девается.
  • Сканер запускает камеру, направленную от игрока (основную).
  • Кнопка переживает автообновление уровня, повторных обработчиков не накапливается.
  • QR-код можно нарисовать любым генератором. В нём должен лежать просто текст ответа, без ссылок и префиксов, иначе движок получит не тот ответ.

Пример в игре

  • authors_main/task_editor/advanced/qr_scanner.txt
  • Last modified: 2026/08/14 16:32
  • (external edit)