Создание и хранение огромного массива

техническая поддержка по Construct 2

Сообщение Создание и хранение огромного массива
» 07 окт 2020, 21:21

Здравствуйте, такая вот ситуация. Я хочу создать в игре много квестов, решил делать это через массив. Тоесть по Y у меня например будет Y0 название квеста Y1 Описание Y2 денежная награда и так далее, по Y получается около 15. И квестов этих по X будет около 300. Как мне правильно заполнить массив? Ну типа on start of layout - array set value XY, и так заполнить все 4500 ячеек, и соответсвтенно событий? Это ведь бред, я подозреваю прогружаться это будет очень долго . Можно ли этот массив добавить как-то в текстовый документ и прилепить к игре или заполнить его как-то напрямую без эвентшита или я хз даже
Аватара пользователя

Участник
Сообщений: 63
Я тут с 15 фев 2020
Репутация 0 [ ? ]

Сообщение Создание и хранение огромного массива
» 07 окт 2020, 21:34

noLife, Есть второй способ заполнения массива - через .json. Для начала создай текстовый файл формата .json и скопируй в него сами строки массива в формате .json (создай пустой проект, создай в нем массив и выставь ему нужный размер, далее создай текстбокс и создай событие Start of layout -> TextBox: Set text (Array.AsJSON). После этого запусти сцену, скопируй то, что получилось в текстбоксе и вставь в текстовый редактор).

Далее начинай редактировать значения в текстовом редакторе (в зависимости от размерности массива). Можешь заполнить массив действиями Start of layout -> Array: Set at... и вывести в .json и скопировать в файл.

Когда будет готово, добавь в проект этот файл и плагин AJAX. Далее создай события при котором должен загружаться файл и действие AJAX: Request url (в url пиши "название файла.json" и указывай любой тег). Далее добавь событие AJAX: On completed (пишешь тег, который указал в действий) и действие Array: Load (AJAX.LastData).
Исходники:
Библиотека исходников для Construct Classic - http://c2community.ru/forum/viewtopic.php?f=16&t=16843

Плагины:
Портирование плагины [C3Runtime] - http://c2community.ru/forum/viewtopic.php?f=200&t=17021
Поддельные плагины [C3Runtime] - http://c2community.ru/forum/viewtopic.php?f=200&t=16933
Аватара пользователя

Участник
Сообщений: 692
Я тут с 12 мар 2020
Откуда: GameSoul Inc.
Двиг: Construct,Unity
Лицензия: Business
Репутация 111 [ ? ]

Сообщение Создание и хранение огромного массива
» 07 окт 2020, 23:58

XmlToArray.capx
(171.78 КБ) Скачиваний: 58

данные можно записать в xml формате и держать в проекте отдельным файлом, при старте игры выгружать в массив
Чтобы понять что происходит - запустите debug и откройте объект массива

*Также сами квесты можно реализовать через xml систему, главное разобраться что такое xml и с чем его едят
 
Изображение
Аватара пользователя

cliva
Сообщений: 818
Я тут с 07 май 2017
Двиг: CC,C2
Лицензия: full
Репутация 317 [ ? ]

Сообщение Создание и хранение огромного массива
» 09 окт 2020, 22:17

GameSoul писал(а):noLife, Есть второй способ заполнения массива - через .json. Для начала создай текстовый файл формата .json и скопируй в него сами строки массива в формате .json (создай пустой проект, создай в нем массив и выставь ему нужный размер, далее создай текстбокс и создай событие Start of layout -> TextBox: Set text (Array.AsJSON). После этого запусти сцену, скопируй то, что получилось в текстбоксе и вставь в текстовый редактор).

Далее начинай редактировать значения в текстовом редакторе (в зависимости от размерности массива). Можешь заполнить массив действиями Start of layout -> Array: Set at... и вывести в .json и скопировать в файл.

Когда будет готово, добавь в проект этот файл и плагин AJAX. Далее создай события при котором должен загружаться файл и действие AJAX: Request url (в url пиши "название файла.json" и указывай любой тег). Далее добавь событие AJAX: On completed (пишешь тег, который указал в действий) и действие Array: Load (AJAX.LastData).


Спасибо, это работает)
Аватара пользователя

Участник
Сообщений: 63
Я тут с 15 фев 2020
Репутация 0 [ ? ]



Вернуться в Вопрос-Ответ по Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх