qSpider в отличие от классического плеера позволяет авторам более широко работать с выводимой на экран HTML-разметкой.
Управление интерфейсом и HTML-разметкой из кода игры осуществляется с помощью встроенной в плеер библиотеки "qspider". Чтобы воспользоваться этой библиотекой, необходимо подключить её в начале игры, как обычный модуль QSP:
inclib 'qspider'
В qSpider вы можете:
В qSpider Элементы HTML-форм (input, select, textarea и др.) можно связать с QSP-переменной. Для этого нужно использовать специальный атрибут qsp-bind.
Связь двунаправленая — изменение переменной обновит элемент и изменение элемента (ввод текста или выбор опции) записываются в переменную.
Примеры использования атрибута qsp-bind:
<input type="text" qsp-bind="$username">
<input type="password" qsp-bind="$form_password">
<input type="color" value="#e66465" qsp-bind="$color">
<input type="checkbox" value="1" qsp-bind="enable">
<select qsp-bind="$car">
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Это позволяет быстрее и проще создавать собственные диалоговые окна для взаимодействия с игроком.
Вы можете вызывать код QSP при определённых событиях в плеере с помощью новых атрибутов, начинающихся с префикса qsp-on:.
Поддерживаются следующие атрибуты:
qsp-on:click — одинарный кликqsp-on:dblclick — двойной кликqsp-on:contextmenu — клик правой кнопкойqsp-on:mouseenter — наведение курсораqsp-on:mouseleave — выход курсора за пределы элементаСодержимым атрибутов должен быть валидный код QSP. Примеры использования атрибутов:
<div qsp-on:click="exec: msg 'click'" qsp-on:dblclick="exec: msg 'dblclick'">Click me</div> <div qsp-on:contextmenu="exec: menu '$context_menu'">Right Click me</div> <div qsp-on:mouseenter="exec: pl 'enter'" qsp-on:mouseleave="exec: pl 'leave'">Hover me</div>
Вы можете вызывать множество команд плеера по клику на HTML-элемент, используя специальный атрибут qsp-command.
Пример использования атрибута:
<button qsp-command="resume">Resume</button>
Поддерживаются следующие команды плеера:
quit — выход из игры на полку игрrestart — перезапуск игрыresume — продолжить игру (закрытие меню паузы)mute — выключить звукunmute — включить звукquicksave — быстрое сохранениеquickload — быстрая загрузкаpause:saves — открыть меню сохраненияpause:preferences — открыть настройкиscroll:main:bottom и scroll:main:top — прокрутка окна основного описанияscroll:stats:bottom и scroll:stats:top — прокуртка окна доп описания
Эти команды можно вызывать и непосредственно из кода QSP, если подключить встроенную библиотеку qspider.
Пример вызова команд из кода QSP:
inclib 'qspider'
@qspider_quit()
@qspider_open_pause_screen('saves')