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

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).
Далее начинай редактировать значения в текстовом редакторе (в зависимости от размерности массива). Можешь заполнить массив действиями 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
Библиотека исходников для 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 [ ? ]
данные можно записать в xml формате и держать в проекте отдельным файлом, при старте игры выгружать в массив
Чтобы понять что происходит - запустите debug и откройте объект массива
*Также сами квесты можно реализовать через xml систему, главное разобраться что такое xml и с чем его едят
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).
Спасибо, это работает)
Сообщений: 4
• Страница 1 из 1
Вернуться в Вопрос-Ответ по Construct 2
Сейчас эту тему просматривают
Зарегистрированные пользователи: нет зарегистрированных пользователей