Перечень операторов платформы QSP для работы с экраном основного описания ограничен очисткой, выводом и получением всего содержимого. Данный модуль расширяет этот функционал, добавляя возможность (в html-режиме) манипулировать отдельными областями экрана, не затрагивая остальные.
Ранее я выкладывал наброски подобного — теперь это полноценный модуль.
Текущая версия: 1.1 (скачать)
Документация on-line: https://ifiction.ru/h/otg_lib_screen_help.html
Пример работы с модулем:
!Выводим на экран текст, содержащий область, которую мы хотим менять. *P '<b>Данные:</b><region id="data"></region>' !Прописываем в область текст "Данных нет" GS 'Экран.Установить', 'data', 'Данных нет'
После выполнения данного кода содержимое экрана будет такое:
<b>Данные:</b><region id="data">Данных нет</region>
Неактивен
Хех, жаль, в QSP нельзя xml писать для вывода, а то уж тогда бы запросто можно распределить текст на экране.
З.Ы.
Хотя может быть, это все чисто технический подход?
Неактивен
Ещё одна небольшая демка (больше похожая на игру) для демонстрации базовых функций модуля "QSP: Экран".
Задача мини-игры — открыть сейф. Управление как через действия, так и щёлканьем по ссылкам.
С помощью модуля производится обновление области экрана, в которой выводятся действия игрока, а при включённом режиме показа комбинаций сейфа и набранной комбинации — и соответствующей области тоже.
Неактивен
Версия 1.1: Исправлена ошибка, возникающая при одновременном использовании на экране свыше 10 тегов <region>.
В файл с модулем добавлена демка "Сейф".
Неактивен
В версии 1.2 модуля появится команда "Экран.Затемнить", в которую передаются имя области экрана, шаг затемнения и длина паузы между шагами. Команда гасит область экрана с учётом системного цвета выводимого текста, а также всех тегов <font> с атрибутом "color".
Осталось придумать, что делать с ссылками в тексте, которые тоже имеют свой собственный системный цвет. В принципе, можно добавить в них тег цвета со значением системного цвета, т.е. <a href="…">текст</a> превратится в <a href="…"><font color="…">текст</font></a>.
Неактивен
Так, добавление в теги ссылок тегов цвета сделано. Всё работает. Появляется некоторая избыточность в "гасимом" тексте тегов <font>, но это не так уж страшно.
Неактивен
Ну и заодно сделал "проявление" текста. И добавил, что при гашении в конце (когда уже ничего не видно) — гасятся ссылки. А то текста не видно, а ссылки "нащупать" можно.
Неактивен
Нашёл неприятную багу: при попытке записать что-нибудь в несуществующую (на экране) область — экран очищается. Будет исправлено в версии 1.2.
Неактивен
Ого, оказывается в модуль с последнего обновления добавились кое-какие возможности. Надо бы выложить новую версию.
Неактивен