Просмотр полной версии : Передача массива из HTML в SWF
Здравствуйте, возникла задача создания динамической карты во флэше
то, есть клиент хочет сам добавлять нужные города
Во флеше
массив выглядит так
All_array = Array(
Array("г. Москва","moscow","moscow",X,Y),
Array("г. XXX","moscow","xxx",X,Y),
)
То есть
All_array[0][1] - название города
All_array[0][2] - название района
All_array[0][3] - название города в латинице
All_array[0][4] - X на карте
All_array[0][5] - Y на карте
Помогите реализовать загрузку из HTML
Читайте про ExternalInterface.
DarkLight
31.10.2007, 23:11
...но в идеале лучше попытаться сделать загрузку из xml, чтобы не зависеть от наличия включенного js и не бояться допотопных браузеров
да, хмл это выход в данном случае, хочешь - стучи в аську, напрямую сталкивался с данным вопросом.
Решил задачу наполовину, нашел пример где берут данные из файла типа
info=г. Тверь | tver | tver | 380 | 248.6
г. Вышний Волочок | volochek | volochek | 290.4 | 158
г. Торжок | torjok | torjok | 298.4 | 260
Но тут же столкнулся с новыми проблемами
во первых
load("params.txt");
откуда будет браться файл params.txt при размещении на сайте,
1. из той же папки где расположен мувик
2. из той же папки где расположена страница вывода
и вторая проблема
_root.All_array = arrayLoad.info.split("\r\n");
файл в кодировке UTF-8
почему то локально все нормально раздербанивает по строкам, однако на сайте выводится только первая строка.
приведу сам код разбиения на массив
var paramurl1:String = "http://mydomain/params.txt";
if (_level0.paramurl != undefined) {
// If image was specified, overwrite default value.
paramurl1 = _level0.paramurl;
}
arrayLoad = new LoadVars();
_root.All_array= new Array();
arrayLoad.load(paramurl1);
arrayLoad.onLoad = build_array;
function build_array() {
_root.All_array = arrayLoad.info.split("\r\n"); //сначало дербаним по строкам
for (i=0; i<_root.All_array.length; i++)
{
_root.All_array[i] = _root.All_array[i].split(" | "); //потом по палке:)
}
trace(_root.All_array.length)
start_draw()
}
в html соответственно прописываю
<param name="FlashVars" value="paramurl=http://mydomain/params.txt">
<embed src="map.swf" quality="high" FlashVars="paramurl=http://mydomain/params.txt">
olexandr
09.11.2007, 12:33
XML, только XML!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.