Просмотр полной версии : Как передать во флэш данные из внешнего редактора?
Есть мной написаный мной редактор карт не на флэше. Есть флешка в которой ети карты должны использоваться. Но при етом должен быть один sfw то есть внешнаяя загружка не подходит.. пришли в голову два варианта:
1. Редактор генерит AS3 код карты, который я просто вставлю во флеш.
Например в кадр с картой. Например если на карте есть только два типа стены то он генерит код
create_wall(123,45,Red_wall)
create_wall(123,25,Red_wall)
create_wall(100,0,Green_wall)
.........................................
2. вот с етим нужна помощь)
Нада сделать так что б на выходе редактора получалась строка с данными которую я вставлю как аргумент в функцию создания уровня
current_level=make_data(сосбсно сткрока из редактора)
build_level(current_level)
вот что должно быть в make_data?(редактор может как по byte-ово(bin_write_byte(file,position,byte) где byte: 0-255) создавать файл, и как текстовій файл)
Вохможно считать строки из ByteArray? Как собсно ету бинарную строку получить(из файла который сделает редактор, и потом ее использовать как аргумент)?
tyapichu
18.08.2008, 16:07
оригинально кстати... а почему ты не создаешь XMLку карты? я насоздавал некоторое количество XMLек с объектами и их описаниями карт и объектов по этим картам расставленных. а в коде обеспечиваю правильную реакцию на свойства этих объектов.
ну дак мне нада что б без внешних файлов(
именно что б строка была..
Felicast
18.08.2008, 19:42
можно попробовать такую схему:
редактор выдает строку кажый символ - это значение 0-255 (но тут проблема, врядли получится использовать первые 32 символа)
второй вариант: выдавать строку со значениями, разделенными спец символом(например ; ). а во флеше просто распарсить и получить массив данных.
Division
18.08.2008, 20:20
Tfp можно подробнее, в чем именно проблема? Что-то ничего понять не могу.
Вохможно считать строки из ByteArray?
Что за bytearray? Откуда берется? Судя по названию, это массив байт, что по сути строкой и является (:
Как собсно ету бинарную строку получить(из файла который сделает редактор, и потом ее использовать как аргумент)?
Редактор ты писал? Если да, то проблем возникать не должно. Если нет, то блокнотом этот файл не открывается?)
Прочитать строку из массива байт можно, ну так чтобы не соврать, наверное в 30 разных кодировках... Кроме того есть как минимум 3 распространенных формата подходящих для сериализации флешевых данных - XML, AMF и JSON. Удобнее и читаемее естесственно в XML, самый экономный - AMF.
Но, если честно, то я кажется не совсем понял вопрос... а в чем была сложность сгенерить ХМЛ и зашить его в SWFку?
Division вот открыл я блокнотом, как теперь из етой строки сделать ByteArray ?
В редакторе нет возможности генерить XML...
Division
18.08.2008, 23:15
Что за редактор? Ты его писал? Если ты, то в чем ты его писал? Если не ты, то я слабо представляю как ты собираешься использовать эти данные без знания структуры файлов этого редактора.
UPD:
не заметил:
Есть мной написаный редактор
В чем ты его писал? Кинь код сохранения карты в файл. И вообще я не понимаю как ты можешь задавать подобные вопросы если редактор писал ты? Ты не можешь сохранить в текстовый файл нужную тебе информацию? Тогда тебе одна дорога - в магазин за учебником. Если я тебя не правильно понял, и ты можешь генерить текстовые файлы - почему ты это не сделаешь? (:
UPD2: Я так подумал, всё-же я не понимаю что именно ты хочешь и что именно у тебя не получается. Попробуй более четко всё объяснить.
Felicast
19.08.2008, 01:03
В редакторе нет возможности генерить XML...
а что мешает добавить такую возможность? к томуже в последствии можно будет легко переделать на подгрузка карт извне.
вот открыл я блокнотом, как теперь из етой строки сделать ByteArray
я конечно не уверен:
public function writeMultiByte(value:String, charSet:String):void
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.