Инструменты пользователя

Инструменты сайта


help:html

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:html [2022/07/18 12:12]
aleks_versus
help:html [2024/10/14 12:36] (текущий)
aleks_versus обновление 5.9.0
Строка 1: Строка 1:
-[[help:fonts|Назад: ​Шрифты]] +[[help:interface|Назад: ​Настройки интерфейса]]
-=====HTML=====+
  
-**USEHTML** - если значение данной переменной отлично от 0, включает возможность использования HTML в окне основного описания,​ в окне дополнительного описания,​ в списках действий и предметов,​ а также в диалоговых окнах, вызываемых функцией ​"$INPUT" ​и оператором ​"MSG". Выводимый текст распознаётся как HTML.+====== HTML ====== 
 + 
 +При использовании HTML мы можем более гибко управлять внешним видом нашей игры, встраивать в неё изображения и использовать гиперссылки. Это позволяет разгрузить интерфейс от ненужных текстовых элементов,​ уменьшить число кнопок,​ и сделать управление игрой более гибким. 
 + 
 +Иными словами HTML помогает нам сделать игру внешне привлекательной и удобной для игрока. 
 + 
 +===== Включение режима распознавания HTML ===== 
 + 
 +Чтобы мы могли использовать HTML в нашей игре, необходимо включить режим раcпознавания HTML. Это делается с помощью системной переменной ''​%%USEHTML%%''​. 
 + 
 +''​%%USEHTML%%''​ — если значение данной переменной отлично от 0, включает возможность использования HTML в окне основного описания,​ в окне дополнительного описания,​ в списках действий и предметов,​ а также в диалоговых окнах, вызываемых функцией ​''​%%$INPUT%%'' ​и оператором ​''​%%MSG%%''​. Выводимый текст распознаётся как HTML.
  
 <sxh qsp> <sxh qsp>
Строка 8: Строка 17:
 </​sxh>​ </​sxh>​
  
-По умолчанию в любом плеере QSP отключено распознавание HTML, поскольку на старте игры все переменные равны нулю, в т.ч. и **usehtml**. Из-за этого все HTML-теги,​ выводимые в тексте с помощью соответствующих команд,​ или в названиях предметов,​ действий или диалоговых окон ​"$INPUT" ​и "MSG", будут отображены на экране,​ как есть.+По умолчанию в любом плеере ​**QSP** отключено распознавание HTML, поскольку на старте игры все переменные равны нулю, в т.ч. и ''​%%USEHTML%%''​. Из-за этого все HTML-теги,​ выводимые в тексте с помощью соответствующих команд,​ или в названиях предметов,​ действий или диалоговых окон ​''​%%$INPUT%%'' ​и ''​%%MSG%%''​, будут отображены на экране,​ как есть. ((Из этого правила есть исключения. Например,​ в **qSpider** распознавание HTML включено всегда и не зависит от значения переменной ''​%%usehtml%%''​)).
  
-При изменении значения ​**usehtml** ​на число, отличное от нуля, распознавание HTML включится,​ и сами теги будут скрыты от игрока,​ а к тексту,​ выводимому на экран, будет применено форматирование,​ соответствующее этим тегам.+При изменении значения ​''​%%USEHTML%%'' ​на число, отличное от нуля, распознавание HTML включится,​ и сами теги будут скрыты от игрока,​ а к тексту,​ выводимому на экран, будет применено форматирование,​ соответствующее этим тегам.
  
-==Особенности работы HTML в разных плеерах==+===== Код в гиперссылках =====
  
-  ​* **Классический плеер** ​поддерживает лишь некоторые ​HTML-теги. Полный список ​можно посмотреть на странице [[help:​html_classic|HTML-теги поддерживаемые Классическим плеером]]+В **QSP** есть возможность запускать код ​по щелчку на гиперссылке. Для этого мы должны изменить содержимое атрибута **''​%%href%%''​**.
  
-  * Плеер "​**qSpider**"​ работает с полноценным браузером, а значит поддерживает все HTML-теги современного стандарта. В том числе ​и HTML-теги ​для встраивания видео.+В этом атрибуте мы прописываем ​ключевое слово ''​%%EXEC%%''​, затем без ​пробелов ставим двоеточие, а после двоеточия в одну ​строку пишем обычный код **QSP**. Вот пример вставленной в текст ​гиперссылки, которая ведёт ​игрока на другую локацию:
  
-  * Устаревший плеер "​**AeroQSP**"​ поддерживает почти все HTML-теги,​ но поддерживает не все атрибуты,​ в основном только атрибут "​style"​.+<sxh qsp> 
 +usehtml=1
  
-  ​* Плеер "​**Quest Navigator**" ​имеет устаревший браузерный движок,​ который не соответствует современным стандартам,​ но поддерживает большинство HTML-тегов.+*pl 'В тени сумрачного леса приютился маленький <a href="​EXEC:​ goto ''​пряничный_домик''​ ">​пряничный домик</​a>​.'​ 
 +</​sxh>​ 
 + 
 +Обратите внимание на используемые в строке кавычки. ​Поскольку для записи строки мы использовали одинарные кавычки (апострофы),​ а двойные кавычки использовали для атрибута **href**, пришлось экранировать одинарные кавычки в строке дублированием,​ чтобы название локации ''​%%пряничный_домик%%''​ так же было заключено в кавычки. Сравните эту запись со следующей:​ 
 + 
 +<sxh qsp> 
 +*pl "В тени сумрачного леса приютился маленький <a href=""​EXEC:​ goto '​пряничный_домик'​ "">​пряничный домик</​a>​."​ 
 +</​sxh>​ 
 + 
 +В гиперссылках нельзя размещать многострочный код, поскольку это нарушает чтение гиперссылок в плеерах,​ поддерживающих полноценный HTML. Записывайте все команды в одну строку:​ 
 + 
 +<sxh qsp> 
 +if был_здесь = 0: 
 +    яблоки = 10 
 +    был_здесь = 1 
 +end 
 +*pl "<a href=""​EXEC:​ if яблоки > 0: яблоки-=1 & gt $curloc else: pl '​Яблок больше нет.'​ "">​Яблоки (<<​яблоки>>​ шт.)</​a>"​ 
 +</​sxh>​ 
 + 
 +Если нужно выполнить из гиперссылки сложный многострочный код, разместите этот код на отдельной локации,​ а затем уже вызывайте локацию с помощью ''​%%GOSUB%%''​ из гиперссылки:​ 
 + 
 +<sxh qsp> 
 +*pl "<a href=""​EXEC:​ gosub ''​взять_яблоко''​ "">​Яблоки (<<​яблоки>>​ шт.)</​a>"​ 
 +</​sxh>​ 
 + 
 +Или поместите код в текстовую переменную,​ а потом выполняйте из гиперссылки с помощью оператора ''​%%DYNAMIC%%'':​ 
 + 
 +<sxh qsp> 
 +$code = { 
 +  if яблоки > 0: 
 +    яблоки -= 1 
 +    pl 'Вы взяли одно яблоко.'​ 
 +    gt $curloc 
 +  else: 
 +    pl '​Яблок больше нет.'​  
 +  end 
 +
 +*pl "<a href='​EXEC:​ dynamic $code '>​Яблоки (<<​яблоки>>​ шт.)</​a>"​ 
 +</​sxh>​ 
 + 
 +===== Особенности работы HTML в разных плеерах ===== 
 + 
 +  * Классический плеер поддерживает лишь некоторые HTML-теги. Полный список можно посмотреть на странице [[help:​html_classic|HTML-теги поддерживаемые Классическим плеером]]. 
 +  * Плеер **qSpider** работает с полноценным браузером,​ а значит поддерживает все HTML-теги современного стандарта. В том числе и HTML-теги для встраивания видео. 
 +  * Плеер ​**Quest Navigator** имеет устаревший браузерный движок,​ который не соответствует современным стандартам,​ но поддерживает большинство HTML-тегов
 +  * Устаревший плеер **AeroQSP** поддерживает почти все HTML-теги,​ но поддерживает не все атрибуты,​ в основном только атрибут **''​%%style%%''​**.
  
----- 
 [[help:​inputs|Вперёд:​ Ввод текста игроком]] [[help:​inputs|Вперёд:​ Ввод текста игроком]]
 +
help/html.1658146348.txt.gz · Последние изменения: 2022/07/18 12:12 — aleks_versus