![]() |
Как забить ByteArray в исходник?
Для работы программы требуется несколько ByteArray размером несколько тысяч байт.
Как забить их в исходник, подобно обычным массивам? Например var a:Array = [1, 2, 3]; Обычные массивы мне не подходят, так как нужен метод readObject. |
А чем вам ByteArray не массив?
|
Компилятор не разрешает писать:
var a:ByteArray = [1, 2, 3]; |
Ну само собой, что не разрешает.
Вам только это и нужно было? |
Мне нужен вариант, как забить в ByteArray массив данных.
Либо, возможно ли встроить в ролик двоичный файл, из которого можно было бы этот массив считать. |
А зачем вам инициализировать массив двоичных данных таким образом ? Вместо этого используйте методы: writeByte(), writeBytes, writeInt()...
|
речь идет об относительно большом объеме данных, от 1000 до 10000 байт на каждый массив. Таких массивов должно быть около 50.
Вызов методов не самое быстрое решение. Хотелось бы, что бы при загрузке ролика массивы уже висели в памяти, как это сделано например в C++. |
Ну не знаю...
Тагда Вам лучше через какой-нибудб hex-редактор сгенерировать нужный двоичный файл, сохранить его, а затем просто прчитать в ByteArray с помощью метода writeObject(); |
Хорошо, а как присоединить двоичный файл к ролику. Чтобы он был не отделим от исполняемого файла?
|
о, да :) writeObject вам поможет :) как попробуете, скиньте сюда результат :) мы посмеемся.
a[0] = 1; a[1] = 2; a[2] = 3; или использовать флекс и метаданные Embed |
А чем не устраивает вариант забивать данные в Array, а в начале программы формировать соответствующие ByteArray?
|
- записать данные в строку через Base64 и декодировать в массив.
- сформировать BMP содежащий все необходимые данные, заэмбедить(убрав сжатие), по необходимости извлеч и раскидать по массивам. |
Цитата:
|
Что вы человеку на мозги давите? делаете, например, hex строку типа:
Код:
var str="043EF63A..." |
ByteArray можно зашить прямо в swf без подобных строк.
|
Цитата:
Заголовок темы: Как забить ByteArray в исходник? |
Цитата:
|
В AS2 была такая директива "__bytecode__(...)" интересно, в AS3 ее совсем убрали, или переименовали?
|
либо убрали, либо пока народ не нашёл.
|
Скорее всего убрали, хотя бы по одной простой причине, что работать она не будет.
|
Можно просто написать конвертер из HEX-строки в двоичные данные. Останется только получить HEX-строки из нужных файлов и забить как константы в ролик. Так же вместо HEX-а можно использовать base64 (вот и ссылочку одну нашёл http://dynamicflash.com/goodies/base64/), а закодировать нужные файлы в base64 можно и при помощи Total Commander'a
|
| Часовой пояс GMT +4, время: 15:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.