Авторизация
×

Логин (e-mail)

Пароль

Интерактивные истории, текстовые игры и квесты
Гиперкнига

Библиотека    Блог

Посетите наш новый сайт AXMAJS.RU

AXMA Story Maker JS. Бета-версия онлайн

DoubleDragon, 08.09.18 | Обновления ASM

Всем привет!

Рад сообщить Вам, что наконец-то доступна бета-версия AXMA Story Maker JS онлайн: http://hyperbook.ru/editorJS/. Обратите внимание, что в бета-версии отключена возможность публикации. Бета-версия десктопного варианта редактора будет доступна позже.

Теперь о главном. Напомню, что макросы в этой ветке ASM заменены на функции. Подсказки для функций доступны в редакторе параграфов, а ниже я привожу таблицу соответствия старого и нового синтаксиса:

Текстовая строка\ Текстовая строка
<<print выражение>>print(выражение)
<<menu '[[Параграф]] [[*Параграф]]'>>menu(выражение)
<<title 'Текст'>>title(выражение)
[[ссылка|параграф {$переменная=1}]][[ссылка|параграф {переменная=1}]]
или
текст ссылки = link('ссылка', 'параграф', 'тип', функция)
или
текст кнопки = button('ссылка', 'параграф', 'тип', функция)
var arr = [[1,2]] будет ссылкой, надо так: var arr = [ [1,2] ]

функция вставляется так:
function() {
    //код
}
<<set $переменная = 1>>Локальная переменная (видимая в пределах параграфа):
var переменная = 1

Глобальная переменная (лучше объявлять в параграфе Start):
переменная = 1
<<clrscr>>clear()
<<display 'Параграф'>>display(параграф)
<<if $переменная eq 1>>if (переменная==1) {
    <<elseif $переменная eq 2>>} else if (переменная==2) {
    <<else>>} else {
<<endif>>}
<<random $переменная = 9>>переменная = random(9)
<<loop 10>>for (i=0; i<10; i++) {
    <<break>>    break
    <<continue>>    continue
<<endloop>>}
<<fade = 700>>fade(700)
<<goto 'Параграф'>>goto(параграф)
<<sound ''>>sound('')
<<picture ''>>picture('')
[[File: картинка.jpg]]<img src='картинка.jpg'>
или
img('картинка.jpg')
<<image ''>>image('')
[File: музыка.mp3]]music('музыка.mp3')
<<noaudio>>music()
<<texteffect ''>>texteffect('')
<<effect ''>>effect('')
<<tab 1>>&nbsp;
или
пробелы = tab(1)
<<class 'класс'>>текст<<endclass>><span class='класс'>текст</span>
<<filter ''>>filter('')
<<repeat 'Параграф' 1>>repeat('Параграф', секунды)
секунды >= 0.1
<<stop 'Параграф'>>stop('Параграф')
<<choice 'Действие 1; Действие 2; Действие 3' $переменная>>choice(true,'Действие 1', 'Действие 2', 'Действие 3',[func])
результат в системной переменной $$choice,
если первый параметр true, можно делать множественный выбор, в этом случае $$choice - массив выбранных номеров,
может присутствовать последний параметр - функция, на входе которой - номер выбора или массив выборов
<<nop>>...<<endnop>>нет
вставка внешних скриптовscript(адрес, функция при onload)
вставка внешней таблицы стилейstyle(адрес, строка media)
вывод сообщения в окне с кнопкой OKmessage('текст')
<<video 'видео.mp4'>>video('видео.mp4')
<<input 'Параграф' $переменная>>input(параграф или функция)
результат в $$input
параграф в всплывающем окнеpopup(параграф)
<<row 'Колонка 1' 'Колонка 2'>><table>
<tr>
    <td>Колонка 1</td>
    <td>Колонка 2</td>
</tr>
</table>
<<back ''>>baсk(текст)
<<restart ''>>restart(текст)
<<return ''>>link(текст,$$from(),false)
<<sprite '',@,@,@,@,100,1,1000,''>>spr = sprite(path)
spr.left = 0 (true = 'auto')
spr.top = 0
spr.right = 0
spr.bottom = 0
spr.width = 0
spr.height = 0
spr.opacity = 100
spr.filter = CSS3filters
spr.path = path/имя
spr.visible = true/false
spr.show(time)
spr.copy(path)
spr.action = параграф/функция
функция получает ссылку на спрайт при клике на нём и объект координат клика {x:x,y:y}
spr.drag = функция
функция получает ссылку на спрайт при событии его перетаскивания
<<delete '' 1000>>spr.hide(time)
<<delete>>sprites(true)
без true только возвращает коллекцию отображаемых спрайтов
<<br>><br>
вывод в консольlog(выражение)
log() - очистить лог
тире --
//наклонный//<i>наклонный</i>
''жирный''<b>жирный</b>
__подчёркнутый__<u>подчёркнутый</u>
%%%заголовок%%%<h1>заголовок</h1>
{{{моноширинный}}}<tt>моноширинный</tt>
===по центру===<center>по центру</center>
@@@по правому краю@@@<right>по правому краю</right>
~~нижний индекс~~<sub>нижний индекс</sub>
^^верхний индекс^^<sup>верхний индекс<sup>
линия ----<hr>
* строка списка<li>строка списка</li>
разбивка текста ***недоступно

В программе уже работает автоматический конвертер, преобразующий файлы старого формата в новый при их открытии. Также создан новый шаблон примера, можете поиграться с ним, чтобы понять, как всё работает.

Желаю удачи в освоении новых возможностей!

Комментарии: 11.

Профиль


Закрыть

Показать все комментарии

DoubleDragon
13.09.18 21:52

Кстати, глобальные функции создаются так:

имя_функции = function() {
// код функции
};
Пантелеймон
01.10.18 10:28

Не отказался бы глянуть на примеры игр в новой версии. Хотя бы та, что уже была продемонстрирована. Так сказать, глянуть изнутри.
DoubleDragon
02.10.18 15:36

Так это же, в самой игре Lines есть ссылка на её исходник:
http://hyperbook.ru/examples/lines.zip.

Для того, чтобы оставлять комментарии, необходимо зарегистрироваться и подтвердить в профиле указанный e-mail адрес.

При использовании любых материалов блога обязательно указание ссылки на источник