FireURQ:Особенности реализации URQL: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
(Музыка)
м
Строка 64: Строка 64:
 
* Переход по кнопке ('''btn''') также останавливает озвучку.
 
* Переход по кнопке ('''btn''') также останавливает озвучку.
 
* Громкость озвучки регулируется с помощью переменной '''voice_volume''', а не указывается напрямую в команде.
 
* Громкость озвучки регулируется с помощью переменной '''voice_volume''', а не указывается напрямую в команде.
 +
 +
==Изображения==
 +
'''FireURQ''' позволяет вставлять изображения в текст квеста. Для этого служит команда '''image'''.
 +
'''Синтаксис:'''
 +
'''image <имя файла>[, X, Y, ширина, высота]'''
 +
* '''имя файла''' – это имя файла изображения в формате JPEG, PNG или TGA.
 +
* Дополнительные параметры позволяют вывести не все изображение, а его часть. При этом '''X''' и '''Y''' задают верхний левый угол окна, а ширина и высота – размеры «вырезаемого» кусочка.
 +
 +
Изображение вставляются в текст и ведут себя как обычные буквы.  Альфа для вставляемого изображения берется из цвета текста (переменная '''textcolor ''' – см. ниже).
 +
 +
==Выравнивание текста==
 +
 +
'''FireURQ''' позволяет выравнивать текст влево, вправо или по центру. Для установки нужного режима выравнивания текста служит переменная '''textalign'''. Она может принимать следующие значения:
 +
* '''1''' – текст выравнивается влево
 +
* '''2''' – текст выравнивается вправо
 +
* '''3''' – текст выравнивается по центру
 +
Естественно, выравнивание работает лишь внутри одного «абзаца». Если вы выводили текст командой '''print''' (без переноса), затем сменили выравнивание и попытались что-то вывести в той же строке, то текст с другим выравниванием будет перенесен на другую строку автоматически.
 +
Переменная btnalign позволяет выровнять кнопки действия. А '''btntxtalign''' – текст внутри кнопок (т.е. надписи на кнопках). Следует отметить, что выравнивание кнопок работает только для всех кнопок скопом. Т.е. не получится выровнять одну кнопу вправо, а другую – влево.
 +
 +
Расстояние между строками и параграфами определяется следующими системными переменными:
 +
* '''linespacing''' – вертикальное расстояние между строк текста (по умолчанию '''3''')
 +
* '''paraspacing''' – вертикальное расстояние между параграфами (по умолчанию '''3''')
  
 
[[Категория:Документация FireURQ]]
 
[[Категория:Документация FireURQ]]

Версия 19:32, 21 мая 2012

тут будет документация

Операции

  • Есть оператор <> (не равно).
  • Можно производить операцию сложения над строками. Т.е. можно сделать zz = xx + "urq" – и это будет работать, при условии, что xx — строковая переменная.
  • Числовое представление строки — всегда число: длина этой строки. Это касается всех арифметических операций. Строковое представление числовой переменной — пустая строка (как в досурке).

Подстановки (#...$ и #%...$)

Работают только в пределах одного оператора. Т.е. вставить if с помощью подстановки — не получится, т.к. if...then...else — это конструкция языка, а не оператор.

Параметры при переходах

При переходах (операторы proc, btn и goto) возможно передать параметры на метку, на которую происходит переход. Синтаксис:

goto <метка>[(param1, param2, ...)]
proc <метка>[(param1, param2, ...)]
btn <метка>[(param1, param2, ...)], <текст на кнопке>

В качестве параметров могут быть использованы любые выражения. Параметры при этом попадают в переменные <метка>_1, <метка>_2 и так далее. Все старые значения "переменных с параметрами" — удаляются (даже если в прошлый раз было больше параметров).

Важное замечание: при использовании параметров в операторе btn подстановки (#...$ и #%...$) раскрываются ПРИ ДОБАВЛЕНИИ КНОПКИ, а вычисление выражений в параметрах производится ПРИ НАЖАТИИ НА КНОПКУ.

Пример:

btn mylabel(2+2, "четыре"), Кнопка с параметрами

При нажатии на эту кнопку переменная mylabel_1 примет числовое значение 4, а переменная mylabel_2 — строковое значение "четыре".

Музыка и звук

FireURQ поддерживает множество форматов музыки и звука. Командой play можно воспроизводить звуки. Музыка воспроизводится командой music.

Звуки

play [loop|stop] [<имя файла>[, <громкость>]]

имя файла – это имя файла формата WAV/AIFF/MP3/MP2/MP1/OGG

громкость – может принимать значения от 0 до 255

Если указать параметр loop, то воспроизведение звука будет зациклено (полезно, если нужно реализовать фоновый эмбиентный звук). Если указан параметр stop, то конкретный звук (все его «ипостаси», если воспроизведение конкретного звука было запущено несколько раз) будет остановлен. Если указать stop и не указать имя файла, то будут остановлены все звуки.

Музыка

music <имя файла>|stop[, <время в миллисекундах>]

имя файла – это имя файла формата WAV/AIFF/MP3/MP2/MP1/OGG, плюс форматы трекерной музыки: XM, IT, S3M, MOD, MTM, UMX. Кроме того, воспроизводится и MIDI-музыка (файлы MID). Также поддерживается формат MO3 (трекерная музыка с OGG-упакованными семплами). Конвертер для превращения любого трекерного формата в MO3 можно скачать с сайта http://un4seen.com/.

Если требуется остановить воспроизведение, то вместо имени файла указывается stop.

время в миллисекундах – время, в течении которого громкость музыки будет нарастать (или угасать – в зависимости от того, включаем мы воспроизведение, или выключаем). Если музыка уже звучит и мы запускаем новый трек с указанием времени нарастания громкости, то будет исполнен эффект crossfade – старый трек будет угасать, а новый – нарастать по громкости.

Для регулировки громкости музыки используется переменная music_volume, которая может принимать значения от 0 до 255.

Возможно плавное изменение громкости музыки командой fademusic:

fademusic <громкость>, <время в миллисекундах>

громкость – целевая громкость музыки.

время в миллисекундах – время, в течении которого громкость достигнет целевого значения. Кроме того, для музыки поддерживается переменная music_looped, которая принимает два значения: 1 и 0. Эта переменная указывает, будет ли воспроизводимая музыка зациклена или проиграет один раз и остановится. По умолчанию равна 1 (музыка зацикливается).

Важное замечание: некоторые файлы трекерной музыки зациклены сами по себе, с помощью внутренних команд формата. Такие файлы будут играть по кругу вне зависимости от переменной music_looped.

Озвучка локаций

voice <имя файла>
voice stop

С помощью команды voice можно удобно озвучивать локации в квестах. Действие этой команды аналогично действию команды play – проигрывается звук, указанный в качестве параметра, за несколькими исключениями:

  • Озвучка может быть только одна в любой момент времени. Каждая следующая команда voice останавливает предыдущую;
  • Переход по кнопке (btn) также останавливает озвучку.
  • Громкость озвучки регулируется с помощью переменной voice_volume, а не указывается напрямую в команде.

Изображения

FireURQ позволяет вставлять изображения в текст квеста. Для этого служит команда image. Синтаксис:

image <имя файла>[, X, Y, ширина, высота]
  • имя файла – это имя файла изображения в формате JPEG, PNG или TGA.
  • Дополнительные параметры позволяют вывести не все изображение, а его часть. При этом X и Y задают верхний левый угол окна, а ширина и высота – размеры «вырезаемого» кусочка.

Изображение вставляются в текст и ведут себя как обычные буквы. Альфа для вставляемого изображения берется из цвета текста (переменная textcolor – см. ниже).

Выравнивание текста

FireURQ позволяет выравнивать текст влево, вправо или по центру. Для установки нужного режима выравнивания текста служит переменная textalign. Она может принимать следующие значения:

  • 1 – текст выравнивается влево
  • 2 – текст выравнивается вправо
  • 3 – текст выравнивается по центру

Естественно, выравнивание работает лишь внутри одного «абзаца». Если вы выводили текст командой print (без переноса), затем сменили выравнивание и попытались что-то вывести в той же строке, то текст с другим выравниванием будет перенесен на другую строку автоматически. Переменная btnalign позволяет выровнять кнопки действия. А btntxtalign – текст внутри кнопок (т.е. надписи на кнопках). Следует отметить, что выравнивание кнопок работает только для всех кнопок скопом. Т.е. не получится выровнять одну кнопу вправо, а другую – влево.

Расстояние между строками и параграфами определяется следующими системными переменными:

  • linespacing – вертикальное расстояние между строк текста (по умолчанию 3)
  • paraspacing – вертикальное расстояние между параграфами (по умолчанию 3)