Как сделать?
…
Вот в этом коде получается можно не ставить end, если он стоит сразу за двоеточием? Т.е это что же, я могу экономить время?
Можно писать в одну строку без END, можно в несколько строк с END. Лучше всё же писать в несколько строк, так нагляднее и меньше будет багов. Половина багов от новичков, когда они сами запутываются, какую из форм использовать - многострочную или однострочную. Поэтому лучше выбрать раз и навсегда многострочную и не путаться.
И почему после gt идет сразу две локации? Это как понимать в таком случае? При нажатии на “отойти” он вызывает сразу 2 локации? И почему перед ними доллар? Прошу ответьте с разъяснительным ответом, более менее понятным пожалуйста.
Доллар ставится в начале имени переменной. В этом переходе указывается две переменных, в первой имя локации $loc, во второй параметр $metka, который будет передан в эту локацию. В зависимости от того, какие параметры передаются в локацию, на ней будет выполняться различный код.
Вот пример:
$metka = 'спросил_про_татуировку'
$loc = 'Красотка'
GT $loc, $metka
Будет вызвана локация “Красотка” с параметром “спросил_про_татуировку”.
Всё равно, что если мы напишем такой код:
GT 'Красотка', 'спросил_про_татуировку'
я не читал справку по Qsp
Начни с учебника, там даются самые основы в простой форме. Сделай упражнения (только сделай, а не просто прочитай), и станешь гораздо лучше понимать код.
Можно увидеть, хоть где нибудь, простенький пример использования тегов <map> и соответственно <area>.
А то по справке написано что QSP их поддерживает, а примеров использования я не нашел.
Попробовал сам, но вот у меня никак не получается, пишет ошибку синтаксиса.
И что я упустил не понимаю. Вот мой код, что там не так?
<map name = "clunchmap">
<area shape = 'rect' coords = "647,501,712,542" href = "exec:minut +=15 & GT ''motel'',''start''">
<area shape = 'rect' coords = "647,563,721,604" href = "exec:minut +=15 & GT ''gas_station'', ''start''">
<area shape = 'rect' coords = "638,216,673,280" href = "exec:minut +=15 & GT ''bar'', ''start''">
<area shape = 'rect' coords = "567,453,634,492" href = "exec:minut +=15 & GT ''shop'', ''start''">
<area shape = 'rect' coords = "548,370,614,434" href = "exec:minut +=15 & GT ''police'', ''start''">
</map>
'<center><img src="images/location/Clunch.jpg" usemap="#clunchmap"></center><br>'
Lamer,
думаю, тебе поможет вот эта тема: HTML-теги map и area.
Хочу сделать кнопку “Назад” которая возвращала на последнюю посещенную локацию. Подскажите код.
NaViGaToR,
создаём локацию, которая будет отвечать за выполнение кода, когда посещаешь другую локацию. Название может быть любым, например зашёлНаЛокацию. И пишем на ней следующее:
!зашёлНаЛокацию
! возвращаем предыдущую посещённую:
$back = $now
! запоминаем теперешнюю,
! чтобы в следующий раз вернуть её,
! как предыдущую:
$now = $curloc
Теперь нужно дать понять игре, что именно код на этой локации надо выполнять всякий раз, когда посещаешь другие, для этого в самом начале игры пишем:
$onnewloc = 'зашёлНаЛокацию'
Ну и остаётся только создать действие в нужном месте:
act 'Назад':
goto $back
end
Если хочешь сделать возможность пролистывать локации в обратном порядке как страницы:
Spoiler
! зашёлНаЛокацию
if $args[0]='':
! если мы посещаем новую локацию
! записываем последнюю посещённую локацию
! новую ячейку массива
$back[]=$curloc
elseif $args[0]='back':
! если мы возвращаемся на предыдущую
! удаляем последнюю ячейку массива
killvar '$back',arrsize('$back')-1
end
Действие возврата теперь выглядит так:
act 'Назад':
goto $back[arrsize('$back')-2],'back'
end
Aleks Versus,
Спасибо, теперь проще будет игру делать.
Aleks Versus:
Lamer,
думаю, тебе поможет вот эта тема: HTML-теги map и area.
Спасибо за ссылку. Но …
Не помогло.
У меня в игре картинку не выводит вообще, пишет что “код ошибки 119, Неизвестное действие”
И какое действие в моем коде не известно?
Я потому и просил дать пример реально работающего кода, а не чье то представление тут, о том как это должно работать в QSP.
Есть хоть она игра где реализован такой механизм? Ссылочку на игру можете дать? Сам покручу, посмотрю.
Возможность заявлена, во всех справках по QSP эти тэги упоминаются.
Но не встречал ни одного примера, реально работающей игры на QSP, где бы это использовалось!
При этом достаточно много игр, в которых перемещение по локациям происходит, непосредственно по нажатию на определенные зоны изображения. Либо по городу гуляем, либо в комнате можем по картинке щелкнуть и пойти спать, выйти из комнаты, сесть за стол и т.д. и т.п.
Всё это есть, таких игр не мало, но всё это не на QSP, хотя такая возможность для QSP заявлена!
Lamer:
У меня в игре картинку не выводит вообще, пишет что “код ошибки 119, Неизвестное действие”
ну так вопрос не в работе тегов значит, а в том, что ты не можешь, для начала, вывести картинку.
Если кусочек кода который ты привёл точно скопирован из твоей игры, то в нём несомненно ошибки:
*p '<map name = "clunchmap">'
*p '<area shape="rect" coords = "647,501,712,542" href = "exec:minut +=15 & GT ''motel'',''start''">'
*p '<area shape="rect" coords = "647,563,721,604" href = "exec:minut +=15 & GT ''gas_station'', ''start''">'
*p '<area shape="rect" coords = "638,216,673,280" href = "exec:minut +=15 & GT ''bar'', ''start''">'
*p '<area shape="rect" coords = "567,453,634,492" href = "exec:minut +=15 & GT ''shop'', ''start''">'
*p '<area shape="rect" coords = "548,370,614,434" href = "exec:minut +=15 & GT ''police'', ''start''">'
*p '</map>'
'<center><img src="images/location/Clunch.jpg" usemap="#clunchmap"></center><br>'
И всё работает. Проверено.
Так что нет тут ничего хитрого.
Spoiler
UPD: А в теме той, кстати, есть примеры рабочего кода, рассмотрев которые внимательно, можно было увидеть свою ошибку.
*pl '<map id="CityMap" name="CityMap">
<area shape="rect" coords="0,0,100,100" href="exec:gt ''Flat''" alt="Моя квартира">
<area shape="rect" coords="100,100,200,200" href="exec:gt ''Shop''" alt="Магазин">
</map>
<img src="img/CityMap.jpg" width="1024" height="768" usemap="#CityMap">'
Как вставить изображение в меню плеера? Например, чтобы рядом с act’ом “север” стояла пикча в формате jpg на которой стрелка вверх. Спасибо.
Нашел. ‘<img src=“content/room.jpg”>’
Здравствуйте,
есть вопрос. Можно ли прописать в коде, чтобы окно “Предпросмотр” разворачивалось на полный экран?
ДоБрЫй_МеДвЕдЬ,
К примеру пропишите:
SHOWACTS 0
SHOWINPUT 0
SHOWSTAT 0
SHOWOBJS 0
Сам же плеер только с помощью alt+enter. Манипуляции с vbs может и помогу, но это уже другой вопрос, в котором ещё разобраться нужно.
Oliver,
ДоБрЫй_МеДвЕдЬ имеет ввиду окно, вызываемое командой view. Оно настраивается так же, как и остальные окна плеера.
Создала на аеро свой хелоуворд, через run_flash.bat работает, через standalone не работает, swf создается, грузится и черный экран дальше, хотя если заменить файл aqsp на любой другой с сайта, то через standalone работает. В чем может быть проблема?
У меня есть общая папка, в которой лежит и куген и плееры. В этой папке создала папку game, в неё сохранила game.qsp с кодом ‘fdsfsdfsdf’, в путях кугена выбрала запускать через run_flash.bat - работает норм, появляется окно с текстом ‘fdsfsdfsdf’. В папке game появляется файл game.aqsp.
Создала еще одну папку в общей, standalone, положила туда все что было в архиве
здесь http://qsp.su/index.php?option=com_content&view=article&id=117&Itemid=56
а также создала background.png и config.xml, для проверки кладу туда файл игры “Один в снегах”, жму build-stand-alone.cmd, файл AeroQSP_standalone.swf создается, игра запускается. Если копирую свой файл game.aqsp с папки game в папку standalone, запускаю build-stand-alone.cmd, файл AeroQSP_standalone.swf создается, идет загрузка, и черный экран и все. Надпись так и не появляется, и серого экрана, деленого на секции тоже.
Miranie,
config.xml положи так же и внутрь aqsp-файла.