====== Взаимодействие с интерфейсом (расширенные возможности qSpider) ======
**qSpider** в отличие от классического плеера позволяет авторам более широко работать с выводимой на экран HTML-разметкой.
Управление интерфейсом и HTML-разметкой из кода игры осуществляется с помощью [[help:qspider_inclib|встроенной в плеер библиотеки]] "''qspider''". Чтобы воспользоваться этой библиотекой, необходимо подключить её в начале игры, как обычный модуль QSP:
inclib 'qspider'
В **qSpider** вы можете:
* Создавать собственные [[help:qspider_themes|темы оформления]] и управлять ими.
* Взаимодействовать с HTML через [[help:qspider_spectags|специальные теги]].
* [[#Привязка%20элементов%20HTML-форм%20к%20QSP-переменными|Связывать элементы форм HTML]] со значениями переменных QSP.
* [[#Вызов%20QSP-кода%20по%20событию%20в%20плеере|Вызывать код QSP по событию]] в браузере (плеере).
* [[#Вызов%20команд%20плеера|Вызывать встроенную команду плеера]] при клике по HTML-элементу.
===== Привязка элементов HTML-форм к QSP-переменными =====
В **qSpider** Элементы HTML-форм (''%%input%%'', ''%%select%%'', ''%%textarea%%'' и др.) можно связать с QSP-переменной. Для этого нужно использовать специальный атрибут ''qsp-bind''.
Связь двунаправленая — изменение переменной обновит элемент и изменение элемента (ввод текста или выбор опции) записываются в переменную.
Примеры использования атрибута ''qsp-bind'':
Это позволяет быстрее и проще создавать собственные диалоговые окна для взаимодействия с игроком.
===== Вызов QSP-кода по событию в плеере =====
Вы можете вызывать код QSP при определённых событиях в плеере с помощью новых атрибутов, начинающихся с префикса ''qsp-on:''.
Поддерживаются следующие атрибуты:
* ''qsp-on:click'' — одинарный клик
* ''qsp-on:dblclick'' — двойной клик
* ''qsp-on:contextmenu'' — клик правой кнопкой
* ''qsp-on:mouseenter'' — наведение курсора
* ''qsp-on:mouseleave'' — выход курсора за пределы элемента
Содержимым атрибутов должен быть валидный код QSP. Примеры использования атрибутов:
Click me
Right Click me
Hover me
===== Вызов команд плеера =====
Вы можете вызывать множество команд плеера по клику на HTML-элемент, используя специальный атрибут ''qsp-command''.
Пример использования атрибута:
Поддерживаются следующие команды плеера:
* ''%%quit%%'' — выход из игры на полку игр
* ''%%restart%%'' — перезапуск игры
* ''%%resume%%'' — продолжить игру (закрытие меню паузы)
* ''%%mute%%'' — выключить звук
* ''%%unmute%%'' — включить звук
* ''%%quicksave%%'' — быстрое сохранение
* ''%%quickload%%'' — быстрая загрузка
* ''%%pause:saves%%'' — открыть меню сохранения
* ''%%pause:preferences%%'' — открыть настройки
* ''%%scroll:main:bottom%%'' и ''%%scroll:main:top%%'' — прокрутка окна основного описания
* ''%%scroll:stats:bottom%%'' и ''%%scroll:stats:top%%'' — прокуртка окна доп описания
Эти команды можно вызывать и непосредственно из кода QSP, если подключить [[help:qspider_inclib|встроенную библиотеку]] ''qspider''.
Пример вызова команд из кода QSP:
inclib 'qspider'
@qspider_quit()
@qspider_open_pause_screen('saves')
===== Другие статьи по qSpider =====
* [[help:qspider|qSpider — общая информация]]
* [[help:qspider_gamecfg|Конфигурационный файл]]
* [[help:qspider_aeroqsp|Особенности запуска и работы игр AeroQSP на qSpider]]
* [[help:qspider_themes|Темы оформления]]
* [[help:qspider_spectags|Специальные теги]]
* [[help:qspider_inclib|Встроенная библиотека]]
* [[help:qspider_standalone|Стандалон-сборка игры на qSpider]]