PDA

Просмотр полной версии : Запись Vector.<Number> в ByteArray.


Bletraut
13.12.2015, 21:34
Возможно ли записать Vector.<Number> в ByteArray, затем сохранить ByteArray на диск в виде файла, а затем считать данный ByteArray из файла для получения Vector.<Number> в самой флешке? Если возможно, то как?

КорДум
13.12.2015, 22:34
А в чем проблема? ByteArray#writeDouble(). ByteArray#writeObject() еще попробуйте, может сразу умеет вектор сериализовывать. Запись байтов в файлов гуглится по первым ссылкам http://help.adobe.com/ru_RU/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7d54.html

undefined
13.12.2015, 22:56
а надо писать именно вектор?Нельзя его в массив предварительно перегнать?На случай, если флэш не умеет сериализовать векторА.

Bletraut
13.12.2015, 23:02
Мне для 3д игры нужно очень быстро загружать модели с уровнями. Вот я и подумал, что может лучше записать vertexData, uvData, normalsData, indexData в ByteArray и потом сразу же их загружать, тогда мне не придется тратить время на парсинг моделей. Или как вообще лучше сделать?

Добавлено через 42 часа 14 минут
Собственно сделал свой бинарный формат модели. В файле содержатся массивы с данными.
Результаты загрузки модели с 580 000 полигонами:
29340 ms - обычный парсинг модели
10 ms - загрузка модели из бинарного файла

Результат налицо. Теперь всегда буду использовать подобное хранение данные, раньше меня путало то, что многие движки ориентируются на формат OPEN COLLADA или пишу свои велосипеды, следовательно используют парсинг.