Изменения

Перейти к навигации Перейти к поиску

FireURQ:Особенности реализации URQL

1101 байт добавлено, 13:02, 2 декабря 2019
м
typos
Если требуется остановить воспроизведение, то вместо имени файла указывается '''stop'''.
'''время в миллисекундах''' – время, в течении которого громкость музыки будет нарастать (или угасать – в зависимости от того, включаем мы воспроизведение, или выключаем). Если музыка уже звучит и мы запускаем новый трек с указанием времени нарастания громкости, то будет исполнен эффект crossfade – старый трек будет угасать, а новый – нарастать по громкости, при этом мелодии пересекаются. Если же поставить знак минуса перед временем затухания, то мелодии перекрываться не будут. Пример: '''music some.ogg, -1500''' Переменная '''is_music''' равна '''1''', если в игре играет музыка, и '''0''' — если нет.
Для регулировки громкости музыки используется переменная '''music_volume''', которая может принимать значения от '''0''' до '''255'''.
'''''Пример:'''''
'''decoradd моя_кнопка (50,50, -1) IMGBUTTON "button.png", 0, 0, 100, 50, "лес"'''
этот декоратор выведет на экран внопку в позиции '''50,50''' с текстурой из файла '''button.pnpng''',
определив начальную картинку из текстуры с позиции '''0,0''' шириной '''100''' и высотой '''50''' пикселей,
располагающуюся перед основным текстом. При нажатии на кнопку осуществится переход на локацию с названием '''лес'''.
*'''decor_имя_height''' - возвращает высоту декоратора (в пикселях).
*'''decor_имя_hotx''' и '''decor_имя_hoty''' – позволяют задать «горячую точку» для декоратора (кроме типа '''TEXT'''). Горячая точка задается в пространстве самого декоратора (по умолчанию – 0,0) и служит для привязки. Предположим, у вас изображение размером 25х25 пикселей. Если вы установите горячую точку в (13, 13), то, при вращении декоратора, вращение будет происходить вокруг центра картинки. Так же и при позиционировании на экране привязка будет за центр картинки.
*'''decor_имя_flipx''' и '''decor_имя_flipy''' - позволяет задать горизонтальный и вертикальный флип (зеркальное отображение) для декораторов-картинок. Если переменные равны 1, то картинка отображается зеркально по оси x или y соответственно. Только для декораторов типа IMAGE.
*'''decor_имя_angle''' – позволяет задать угол поворота декоратора (кроме типа '''TEXT'''). Угол задается в градусах.
*'''decor_имя_rotspeed''' – позволяет задать постоянную скорость вращения декоратора (кроме типа '''TEXT'''). Скорость задается в градусах в секунду и может иметь как положительное, так и отрицательное значение.
===Скрипты декораторов===
Скрипты позволяют "запрограммировать" декоратор. Другими словами, назначить ему последовательность команд по перемещению, вращению, изменению масштаба и т.д., которые декоратор будет выполнять самостоятельно, не требуя дополнительного дополнительных команд в коде игры. Эта функция удобна, когда вам надо реализовать системы частиц (снежинки, дым) для оформления вашей игры, или просто добавить визуальных эффектов.
Скрипты декораторам назначаются с помощью команды '''decorscr''' или переменной '''decor_имя_script''' и представляют собой строку, содержащую последовательность команд, разделённых символом косой черты ('''/''').
'''FireURQ''' поддерживает свой собственный формат квеста – упакованный квест ('''QST Zipped'''). '''QSZ'''-файл – это, по сути, zip-архив, в котором лежит сам файл квеста ('''qst''', '''qs1''' или '''qs2''') и все ресурсы, необходимые для работы игры (изображения и музыка). Данный формат очень удобен, если ваша игра использует мультимедиа.
Также, существует в старых версиях '''FireURQ''' (до версии 2.0) существовала возможность конвертации квеста в формате QSZ в исполняемый файл. Для этого следует использовать утилиту с помощью утилиты '''QSZ2EXE''', которая входит входившей в комплект поставки. Эта консольная утилита находится в папке на диске, которую вы выбрали при инсталляции '''FireURQ'''.
== Режим отладки ==
Так же с версии 2.2 в FireURQ появилась возможность менять базовое имя файла сейва.
Переменная '''savebasenamesavenamebase''' хранит это имя. По умолчанию переменная содержит название файла игры.
Если значение поменять на '''«profile1»''', то файлы сохранений будут называться '''profile1.s01''', '''profile1.s02''' и т.д.
* Переход по действиям в инвентаре не перезапускает локацию заново при возврате. Если действие было вызвано во время '''end''' — то происходит безусловный переход ('''goto''') на локацию-действие. Если же вы решили использовать инвентарь во время pause, то локация-действие вызывается как '''proc''' с возвратом на оператор, следующий за pause. Долго думал над этим поведением и решил, что так будет правильнее всего.
* Есть переменная '''gametitle''' — позволяет вывести название игры в заголовок окна. По умолчанию там имя файла, из которого игра была загружена.
* Ключ '''-l''' командной строки позволяет направить весь вывод в файл, т.е. создавать логии логи прохождений. Файлы логов будут называться '''имяквеста.000.log''', '''имяквеста.001.log''' и т.д.
* Клавиатурные шорткаты для системного меню и инвентаря – клавиши ['''Esc'''] и ['''I'''], соответственно.
* Имеется возможность включить полноэкранный режим, нажав сочетание клавиш '''Alt+Enter'''. Повторное нажатие Alt+Enter выключает полноэкранный режим.
* Команда '''QUIT''' закрывает плеер с игрой.
* Системная переменная '''fullscreen''' отвечает за развёртывание игры на полный экран и возврат в оконный режим. Установка её в 1 переводит игру в полноэкранный режим, 0 - переводит обратно в оконный.
* Переменная '''altenter_disable''' (по умолчанию '''0''') отвечает за то, что по комбинации клавиш '''Alt + Enter''' окно игры будет открываться на весь экран или становиться снова окном. Для отключения реакции на эту комбинацию клавиш, следует установить переменную в '''1'''.
* Переменная '''escape_disable''' (по умолчанию '''0''') отвечает за показ системного меню по нажатию клавиши '''Esc'''. Для отключения реакции на эту клавишу, следует установить переменную в '''1'''.

Навигация