Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   подгрузка картинки из динамично создаваемой xml (http://www.flasher.ru/forum/showthread.php?t=146931)

MsXel 22.11.2010 11:54

подгрузка картинки из динамично создаваемой xml
 
Вложений: 1
Здравствуйте, проблема такая: делаю флеш-галерею для сайта, фотографии она берет из xml, суть в том что swf одна, а xml будет много, и хранится они нигде не будут, так как будут генерироваться автоматически. Моя задача создать флешку, у которой в параметрах будет прописан путь, откуда она должна брать XML (это может быть как готовый файл, так и ссылка на скрипт).
т.е.: <param name="flashvars" value="path=/gallery.as_xml/8"/>
когда оно будет обращаться по данному адресу (если это скрипт), то будет генерироваться XML заданного формата с нужными фотками. Если кто то уже сталкивался с этой бедой, помогите пожалуйста. пример во вложении

mooncar 22.11.2010 12:46

Вложение не смотрел.
Принцип можно взять такой. Ведь где-то у вас XML будет генерироваться?
Возможно это будет PHP-скрипт?
В любом случае можно сделать дополнительный (базовый) конфиг,в котором можно прописывать путь к этому скрипту.
Я например, в схожей ситуации делал так. Клал базовый конфиг в директорию с флешкой (и в доке для интеграторов указывал делать так) и сперва она была должна грузить именно его.
Из него она и узнавала URL, где брать сам XML (в вашем случае это может быть URL скрипта, генерирующего XML - по относительному пути, или с использованием http).
Код AS1/AS2:

//определение каталога, откуда загрузили флешку (чтобы не зависеть от того, куда положат флешку интеграторы)
var swfUrl:String = this._url;
var sul:Number = swfUrl.length;
swfUrl_spl = swfUrl.split('/');
var swfName:String = swfUrl_spl[swfUrl_spl.length - 1];
var sun:Number = swfName.length;
var flashRoot:String = swfUrl.substr(0, sul - sun);
 
var xmlData:XML = new XML();
xmlData.ignoreWhite = true ;
xmlData.onLoad = loadXML; //функция для парсинга загруженного XML
 
var lcb:LoadVars = new LoadVars();
lcb.onData = lcbOnData;
lcb.load(flashRoot + 'configurl.inc'); //грузим "базовый" конфиг, где прописан в виде простой строки путь к XML
 
function lcbOnData(src:String) {
        if (src)
        {
                var configXmlPath:String = src; //узнается путь к XML
                xmlData.load(configXmlPath); //и загружается
        }
        else
        {
                tPercent.text = 'Ошибка связи\nс базовым конфигуратором';
        }
}
function loadXML (loaded:Boolean) {
        if (loaded)
        {
              ....................//парсер XML
        }
        else
        {
                tPercent.text = 'Ошибка связи\nс конфигуратором данных xml';
        }
}


MsXel 22.11.2010 13:04

да есть скрипт, который генерирует xml, в которой хранятся картинки. в целом понятно, создать кофиг, к нем приписать скрипт, генерирующий xml. Флешка находит конфиг, читает его, а вот дальше что происходит, можно подробнее ? момент не понятен:
Код AS1/AS2:

function loadXML (loaded:Boolean) { 
        if (loaded)
        {
              ....................//парсер XML
        }
        else
        {
                tPercent.text = 'Ошибка связи\nс конфигуратором данных xml';
        }
}


mooncar 22.11.2010 13:07

Гм. По моему я все предельно ясно прокомментировал.
lcbOnData - в этом обработчике получаем значение URL и используем его для загрузки XML.
После старта происходит загрузка XML.
Флешка получает XML, и в функции loadXML идет его разбор.
У меня за "...." опущен мой разбор. У вас там свой разбор.

Смотрите пример в хелпе, что ли, как XML загружать и разбирать, если у вас трудности.
Тема о другом была, собственно :)


Часовой пояс GMT +4, время: 04:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.