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

Логин (e-mail)

Пароль

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

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

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

AXMA Story Maker 5.8. Многомерные массивы и объекты

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

Ещё не успела остыть новость о версии 5.7, как мы представляем Вам версию 5.8.

И с ней на AXMA Story Maker приходит официальная поддержка многомерных массивов и объектов!

Это значит, что теперь без всяких ухищрений можно создавать таблицы и карты любых размерностей. Любой элемент массива теперь может быть массивом или объектом, содержащим другие массивы или объекты в любых комбинациях.

Объекты создаются следующей конструкцией:

<<set $объект = {}>>

После того, как объект создан, можно присваивать ему свойства, указывая их имена через точку после имени объекта, вот так:

<<set $объект.свойство = значение>>

Количество свойств у одного объекта не ограничивается.

Обратите внимание, что для копирования объектов нельзя использовать простое присвоение через макрос set. Используйте для этого следующий магический код:

<<set $копия = JSON.parse(JSON.stringify($объект))>>

Под капотом — в новой версии изменена внутренняя структура хранения данных, поэтому сохранение и восстановление переменных, массивов и объектов работает быстрее и корректнее.

Переработано руководство пользователя.

Скачать новую версию.

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

Профиль


Закрыть

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

Соловьев Станислав
01.11.17 07:56

Здорово! Помню, я хотел изучить javascript, но осилил только основы. Может быть, это ключ к моей болванке на плечах?
Пантелеймон
20.11.17 14:59

Сделал все то же самое, что указано тут в примере, но никакой разницы между присвоением через set и JSON.parse не увидел. Как только не игрался с этим, но то, что выполняет JSON.parse(JSON.stringify), делает и set.

Со свойствами в объект.свойство вообще иметь дело хоть и удобно, но в ограниченном смысле. В массив его не запихнешь, как другой массив, поэтому его использование немного уменьшается.
DoubleDragon
03.01.18 20:47

Пантелеймон, это не так.

После присвоения через set Вы создаёте ссылку на объект. Измените что-то в нём — изменится и "скопированный" объект.

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

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