Изменения

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

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

1271 байт добавлено, 16:53, 6 марта 2019
Музыка
Если требуется остановить воспроизведение, то вместо имени файла указывается '''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''' и представляют собой строку, содержащую последовательность команд, разделённых символом косой черты ('''/''').
* Переход по действиям в инвентаре не перезапускает локацию заново при возврате. Если действие было вызвано во время '''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'''.
242
правки

Навигация