====== Темы оформления ====== **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]]