Интерактивные истории, текстовые игры и квесты
Регистрация / Вход
Посетите наш новый сайт 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>> | или пробелы = 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) |
| вывод сообщения в окне с кнопкой OK | message('текст') |
| <<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.
Профиль
Закрыть
Показать все комментарии
13.09.18 21:52
Кстати, глобальные функции создаются так:имя_функции = function() {
// код функции
};
01.10.18 10:28
Не отказался бы глянуть на примеры игр в новой версии. Хотя бы та, что уже была продемонстрирована. Так сказать, глянуть изнутри.
02.10.18 15:36
Для того, чтобы оставлять комментарии, необходимо зарегистрироваться и подтвердить в профиле указанный
При использовании любых материалов блога обязательно указание ссылки на источник


О даааа! Наконец-то! Муа-ха-ха-ха!