====== Темы оформления ======
**qSpider** позволяет вам писать собственные темы оформления, которые затем можно переключать прямо из кода игры. Таким образом вы можете написать несколько тем для различных нужд, и включать их по мере необходимости.
Например, у вас могут быть различные темы для локаций-помещений и локаций-пустошей. У вас могут быть отдельные темы для локаций-страниц, где вы представляете информацию об игре. Можно оформить темы для визуализации чтения книг, взаимодействия с хранилищами и так далее.
Отделение интерфейса от кода игры — это полезная практика, позволяющая разнести оформление и логику. Так код становится более читаемым и понятным.
Тема в qSpider представляет собой HTML-код, где для каждого элемента плеера используется свой HTML-тег.
===== Создание тем =====
Свою тему вы можете создать, модифицируя шаблон одной из встроенных тем:
* [[https://github.com/QSPFoundation/qspider/blob/master/public/themes/classic.html|Классическая]]
* [[https://github.com/QSPFoundation/qspider/blob/master/public/themes/aero.html|Aero]]
Если вы когда-нибудь стилизовали HTML-разметку с помощью CSS, отредактировать тему для вас не составит труда.
Обратите внимание на первые строки темы (ниже пример из встроенной классической темы):
В теге ''qspider-theme'' в атрибуте ''%%name%%'' указывается название темы. Именно это название в дальнейшем будет использоваться для указания темы по умолчанию и при переключении тем.
Префикс ''qspider:'' в этом атрибуте указывает на то, что тема встроена в плеер, а значит **qSpider** будет искать эту тему в своих внутренних ресурсах. Названия созданных вами тем должны указываться без префикса ''qspider:''.
Теги ''%%css-link%%'' содержат ссылки на CSS-файлы со стилями для темы. Точно так же: обратите внимание на атрибут ''%%src%%''. Префикс ''qspider:'' указывает, что CSS будет браться из внутренних ресурсов плеера. Вам нужно указывать пути без префикса ''qspider:'' для реально существующих в игре файлов. Пути к CSS файлам указываются в темах **относительно конфигурационного файла игры** (''%%game.cfg%%''), в котором эти темы подключаются.
===== Подключение тем =====
Для подключения своих тем к игре, пропишите в файле конфигурации параметры **themes** и **defaultTheme**:
[[game]]
id = "test-asset-qspider"
title = "Суппер-пуппер-мега-игра"
file="game_start.qsps"
themes = ["themes/intro_page.html", "themes/game_main.html"]
defaultTheme = "intro-page"
В параметре **themes** размещается список путей к темам относительно файла конфигурации.
В параметре **defaultTheme** указывается название темы, которая будет использоваться по умолчанию (атрибут ''%%name%%'' тега ''qspider-theme'').
===== Переключение тем =====
Переключение темы можно производить непосредственно из кода игры, используя [[help:qspider_inclib|встроенную библиотеку]] "''qspider''":
inclib 'qspider'
@qspider_change_theme('game-main')
===== Другие статьи по qSpider =====
* [[help:qspider|qSpider — общая информация]]
* [[help:qspider_gamecfg|Конфигурационный файл]]
* [[help:qspider_aeroqsp|Особенности запуска и работы игр AeroQSP на qSpider]]
* [[help:qspider_interface|Взаимодействие с интерфейсом]]
* [[help:qspider_spectags|Специальные теги]]
* [[help:qspider_inclib|Встроенная библиотека]]
* [[help:qspider_standalone|Стандалон-сборка игры на qSpider]]