- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
Меню - набор строковых значений массива, формат записи которых:
$название:название локации:путь к файлу иконки
Поиск символов ":" начинается с конца строки, то есть название пункта меню может содержать двоеточия.
Если путь к файлу иконки не указан или указанный файл недоступен, то пункт меню отобразится без иконки.
Пример создания меню:
$stone[0]='Взять камень:takestone' $stone[1]='Кинуть камень:throwstone' $stone[2]='Осмотреть камень:' + $see_stone
Здесь название массива ("stone") - это название меню, а текстовые значения массива - действия, для которых указаны названия и названия локаций-обработчиков выбора пунктов меню. При выборе пункта "Взять камень" произойдёт обработка локации с названием "takestone". Аналогично будет происходить с другими пунктами.
В локацию-обработчик выбора пункта меню передаётся аргумент (ARGS[0]) - позиция выбранного пункта. Позиции элементов меню нумеруются с 1.
Вызов меню производится с помощью оператора "MENU" из любого места кода игры. Пример:
menu 'stone' !или menu '$stone' !ссылка с вызовом меню '<a href="EXEC: menu ''$stone''">Камень</a>'Этот оператор покажет меню с названием "stone".
Пример создания меню с иконками:
! нет иконки $usr_menu[0] = 'Взять предмет:take_item' ! иконка задана gif-файлом $usr_menu[1] = 'Положить предмет:put_item:images/put_item.gif' ! иконка задана значением $icon_file $usr_menu[2] = 'Осмотреть предмет:look_item:<<$icon_file>>' ! пункт меню задан 3-мя переменными $usr_menu[3] = '<<$name>>:<<$loc>>:<<$file>>' menu 'usr_menu' &! покажет меню из 4-х пунктов
PS:
1) Меню заканчивается на элементе массива со значением '' (пустая строка). Т.е. если массив меню состоит из элементов 'Взять','Осмотреть','','Бросить', то 2 последних пункта меню не будут созданы.
2) Чтобы вставить разделитель в меню, вместо соответствующего элемента массива напишите "-:-". Т.е. если нужно поставить разделитель вместо 2-го элемента меню "stone":
$stone[1]='-:-'