Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
09.07.2012 11:09

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Про макрос <<back>> и кнопку "Назад"

Просьба в этой теме обсуждать только вопросы и предложения по теме.

Неактивен

0    0    #2
28.02.2013 23:14

ZhoraNasos
Участник
Зарегистрирован: 28.02.2013
Сообщений: 2

Re: Про макрос <<back>> и кнопку "Назад"

Morych написал:

Снова про Бэк. smile Собственно, пример:

Код:

:: Start
<<set $i = 0>>
[[Location 1]]

:: Location 1
i = <<print $i>>
<<set $i = 1>>
[[Location 2]]

:: Location 2
I want back!
<<back>>

Первоначально на "Локации 1" я вижу, что "i = 0". Иду на "Локацию 2", на которой внезапно нажимаю кнопку "Назад". Ожидаю увидеть то же самое, но вижу "i = 1". На месте игрока я бы запаниковал.

Если добавить макросы <<back>> и <<return>> в параграф Location 1, то получается, что при возврате с Location 1 на Start любым из макросов $i = 0 при любом возврате, хотя я думал, исходя из описания, что при возврате с помощью <<return>> $i должно равняться 1? так как сохраняется новое значение переменной?
Почему не так? Или я что-то не так понял из описания макросов. Спасибо.

:: Start
<<set $i = 0>>
i = <<print $i>>
[[Location 1]]

:: Location 1
<<set $i = 1>>
i = <<print $i>>
<<back>>
<<return>>

Неактивен

0    0    #3
01.03.2013 12:07

ZhoraNasos
Участник
Зарегистрирован: 28.02.2013
Сообщений: 2

Re: Про макрос <<back>> и кнопку "Назад"

DoubleDragon написал:

В параграфе Start переменной $i присваивается значение 0. Поэтому на долю секунды значение $i после return равняется 1, и сразу меняется на 0.

Прошу прощения, уже разобрался, я же принудительно присваиваю $i = 0, каждый раз при возврате на Start.
Нужен лишний шаг, чтобы увидеть разницу в макросах:

:: Start
<<set $i = 0>>
i = <<print $i>>
[[Location 1]]

:: Location 1
i = <<print $i>>
[[Location 2]]

:: Location 2
<<set $i = 1>>
i = <<print $i>>
<<back>>
<<return>>

Спасибо.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru