====== Специальные HTML-теги ====== В **qSpider** добавлены специальные теги, которые позволяют различным образом взаимодействовать с разметкой HTML. Они помогут в отладке игры, проектировании интерфейса для взаимодействия с игроком, и для оформления внешнего вида вашей игры. Все специальные теги — сдвоенные. То есть состоят из открывающей и закрывающей части. **Обратите внимание.** Теги позволяют взаимодействовать со значениями как глобальных, так и локальных переменных, однако локальные переменные уничтожаются сразу после выполнения блока кода, в котором они объявлены. Поэтому если вы используете специальные теги для взаимодействия с локальными переменными, вы можете не увидеть их работу без искусственной задержки (''%%wait%%''). ===== Текущее значение переменной ===== **qsp-variable** — с помощью этого тега можно выводить на экран в режиме реального времени значения переменной. То есть, даже если переменная будет изменяться на локации-счётчике, вы увидите её актуальное значение на экране. Можно выводить не только значение отдельной переменной, но и значение из ячейки массива. Атрибуты тега: * ''%%name%%'' — название переменной или массива. * ''%%index%%'' — числовой индекс ячейки массива. * ''%%key%%'' — строковый индекс ячейки массива (строковый ключ). Примеры использования: ===== Отображение по условию ===== **qsp-show** — содержимое данного тега будет отображаться только если выполняется условие, прописанное в атрибуте ''%%when%%''. Атрибуты тега: * ''%%when%%'' — должен содержать валидное условие QSP (как для операторов ''%%if%%'', ''%%elseif%%'' или ''%%while%%''), при выполнении которого содержимое тега будет отображаться. Примеры использования: Этот текст будет виден только когда значение перменной should_show будет равно 1 Флаг выставлен. Ваза стоит на столе. ===== Динамическое применение стилей ===== **qsp-style** — этот тег подгружает на страницу стили CSS из указанной в атрибуте ''%%from%%'' переменной QSP. В AeroQSP для таких целей использовалась переменная ''%%$STYLESHEET%%''. В qSpider вы можете использовать любую удобную вам переменную. Атрибуты тега: * ''%%from%%'' — название переменной, из которой следует подгружать стили. Пример смены стилей без перезахода на локацию: *p '' *p 'Какого цвета этот текст?' act "Сменить цвет": flag = 1 - flag if flag: $styles = '.universal {color:red;}' else: $styles = '.universal {color:blue;}' end end ===== Управление регионами ===== **qsp-region** — позволяет обновить часть экрана без перезахода на локацию, или разного рода принудительного очищения и перерисовки всей разметки на экране. Атрибуты тега: * ''%%name%%'' — название региона, с которым планируется взаимодействие. Регионы можно создавать как в файлах тем, так и выводить непосредственно из кода QSP. Пример региона: Для обновления региона из кода QSP используются функции [[help:qspider_inclib|встроенной библиотеки]] ''qspider''. Пример замены содержимого региона новым: @qspider_update_region('market-items', 'Здесь больше ничего нет.') ===== Управление слоями ===== **qsp-layer** — даёт возможность быстро показывать и скрывать большие фрагменты отображения. Слои рисуются один поверх другого, что даёт возможность делать наложения элементов интерфейса друг на друга, или создавать модальные окна. По умолчанию все слои скрыты! Атрибуты тега: * ''%%name%%'' — название слоя, нужно для управления. * ''%%index%%'' — порядок отображения слоя относительно других слоёв. Пример слоя: Кошелёк или жизнь? Для управления отображением слоёв из кода QSP нужно использовать функции [[help:qspider_inclib|встроенной библиотеки]] ''qspider''. Пример //включения// слоя: @qspider_show_layer('prompt-popup') ===== Другие статьи по qSpider ===== * [[help:qspider|qSpider — общая информация]] * [[help:qspider_gamecfg|Конфигурационный файл]] * [[help:qspider_aeroqsp|Особенности запуска и работы игр AeroQSP на qSpider]] * [[help:qspider_interface|Взаимодействие с интерфейсом]] * [[help:qspider_themes|Темы оформления]] * [[help:qspider_inclib|Встроенная библиотека]] * [[help:qspider_standalone|Стандалон-сборка игры на qSpider]]