Итак, вышла новая фурка. Скачать, как обычно, на вики. Главные нововведения — новые виды интерактивных декораторов и текстовый вывод текста в текстовый файл.
Итак.
Новые декораторы.
Декоратор «Область клика»
Это просто невидимый квадрат на экране, который ловит клики мышкой. Целевая локация — имя локации в кавычках. Модификаторы работают. Можно сделать выпадающее меню, переход или локальное действие.
decoradd <имя> (x, y[, z]) CLICKAREA <ширина>, <высота>, "<целевая локация>"
Декоратор «Кнопка-картинка»
decoradd <имя> (x, y[, z]) IMGBUTTON "<файл-текстура>", [<tx>, <ty>, <ширина>,
<высота>,] "<целевая локация>"
файл-текстура — это полноцветный PNG с прозрачностью, например
tx, ty — это координаты верхнего левого угла В ПРОСТРАНСТВЕ ТЕКСТУРЫ
ширина и высота — это ширина и высота одного КАДРА
Кадры должны идти друг за другом в такой последовательности — нормальная, неактивная (disabled), в фокусе, нажатая
Если tx, ty, ширина и высота не указаны, то вся текстура просто «пилится» на четыре кадра по горизонтали. Это удобно, но слишком много текстур вредят скорости работы фурки. Поэтому, если у вас много кнопок, лучше всё-таки разместить их на одну текстуру.
Декоратор «Текстовая кнопка»
decoradd <имя> (x, y[, z]) TEXTBUTTON ["<рамка>", ] "<текст>",
"<целевая локация>"
текст — надпись на кнопке
рамка — это название рамки, которая должна быть определена в скине. Это на случай, если захочется сделать много разных кнопок с разным оформлением. Рамки текстовых кнопок определяются в скине в разделе ресурсов. Если рамку не указать, то кнопка будет по умолчанию с тем же оформлением, что и btn-кнопки.
Для всех новых типов декораторов существует переменная decor_<имя>_target, которая позволяет поменять целевую локацию. Для текстовой кнопки есть ещё переменная decor_<имя>_text, позволяющая менять надпись на кнопке.
Вывод в текстовый файл
Корвин давно просил меня сделать возможность вывода в текстовый файл. Так вот, я и сделал. Итак, в фурке есть несколько новых команд:
fprint, которая сокращается до fp и fprintln, которая сокращается (сюрприз!) до fpln. Работают они ровно также, как всем привычные p и pln, только текст выводится не на экран, а записывается в файл.
Файл задаётся с помощью переменной fp_filename. Это просто строка. Но есть нюанс. Чтобы предотвратить написание вирусов и всякой вредоносной фигни на фурке я решил серьёзно ограничить создаваемые файлы. Первое правило — все файлы должны иметь расширение TXT. Второе правило — никаких путей, все файлы создаются рядом с файлом игры. Т.е. если вы даже попробуете задать в переменной fp_filename что-нибудь вроде «C:WindowsSystem32cmd.exe», ей присвоится «cmd.txt» и лежать этот файл будет рядом с файлом игры.
Есть ещё одна новая команда:
newfile <имя файла>
Она присваивает переменной fp_filename имя файла и стирает этот файл. Это для того, чтобы быть увереным, что вы пишете в пустой файл. Если просто присвоить переменную fp_filename, то новые записи будут добавляться к уже существующему файлу.
Ну вот, собственно, и всё. Пишите игры.