Интерактивные истории, текстовые игры и квесты
Регистрация / Вход
Посетите наш новый сайт AXMAJS.RU
Что нужно знать при использовании вкладок
Борис Семёнов (Morych), 11.06.13 | Маленькие хитрости
Если вы решили организовать интерфейс игры с использованием вкладок, обязательно обратите внимание на следующий очевидный момент. На каждой сцене игрок может переключать вкладки, а значит один и тот же параграф с описанием сцены будет вызываться несколько раз подряд. Если в описании сцены есть только текст и ссылки, беспокоиться нечего, но если там присутствуют ещё и вычисления, следует убедиться, что их повторное выполнение не приведёт к багам. Поясню на примере. Допустим, наш герой, проходя в городские ворота, платит стражнику один золотой. В описании сцены будет что-то вроде того:За вход в город вы заплатили стражнику в помятом шлеме один золотой.
<<set $gold = $gold - 1>>
Количество золота ($gold) уменьшилось на 1. И тут игрок решил переключиться на вкладку «Инвентарь» или «Статус». Затем он снова возвращается на вкладку со сценой, код параграфа выполняется, и золото, конечно же, уменьшается ещё раз. Вот вам и баг, и справедливые возмущения игроков на тему «где моё золото».
Похожая ситуация возникнет, если у вас несколько описаний сцены, и номер описания каждый раз изменяется последовательно или случайно. Возвращаясь с любой вкладки на вкладку «Сцена», игрок будет видеть разное описание, и это вполне может вызвать его недоумение.
Чтобы разобраться с этой проблемой достаточно поместить все вычисления в блок условных операторов. Для нашего примера:
За вход в город вы заплатили стражнику в помятом шлеме один золотой.
<<if $$title neq "Обновить">>
<<set $gold = $gold - 1>>
<<endif>>
Если параграф с описанием сцены вызывается макросом «display» из служебного параграфа «Обновить», значение системного объекта $$title будет равно строке «Обновить». Это означает, что игрок нажал вкладку «Сцена», и вычисления выполнять не нужно. В приведённом выше примере вычисления будут выполняться только в том случае, если игрок перешёл на параграф со сценой по прямой ссылке.
Ещё раз напомню, что вышесказанное справедливо для варианта организации вкладок из статьи «Элементы интерфейса. Вкладки».Комментарии: 2.
Профиль
Закрыть
12.05.15 11:41
Рад, что смог помочь :)
Для того, чтобы оставлять комментарии, необходимо зарегистрироваться и подтвердить в профиле указанный
При использовании любых материалов блога обязательно указание ссылки на источник
Низкий поклон автору. Долго не мог решить у себя эту проблему пока не зашел сюда. Спасибо за объяснение.