Просмотр полной версии : Управление путем к изображению, которое подгружатся в ролик извне.
Ситуация следующая:
Есть стандартный компонент ImageLoader через который загружается внешняя картинка.
Обычный код выглядит на подобие imageLoader.loadMovie("cars.jpg");
Но необходимо, чтобы путь к этой картинке можно было устанавливать во внешнем txt-файле. Как это сделать?
2 Alex_UA:
С помощью LoadVars прочитать переменную из внешнего текстового файла и загрузить картинку, используя полученную переменную в качестве URL'а картинки в методе loadMovie экземпляра класса ImageLoader.
я просто не силен в программировании и плохо знаю синтаксис AS. думал, что кому-то будет не сложно подсказать. в общем, спасибо за внимание.
2 Alex_UA:
Ну, совсем недавно обсуждалось, как из внешнего текстового файла загрузить переменную:
http://www.flasher.ru/forum/showthread.php?t=142780
Еще тогда один вопрос. В том примере в переменную variables передали значение в виде пути к файлу. Тоесть, как я понял, ее теперь можно использовать в LoadMovie, на подобие _root.all.imageLoader.loadMovie(variables);
Но я тут явно что-то не то сделал, поскольку ничего не работает.
Тоесть, как я понял, ее теперь можно использовать в LoadMovie, на подобие _root.all.imageLoader.loadMovie(variables);
Нет. Там был код:
var variables:LoadVars = new LoadVars();
variables.onLoad = function(success:Boolean)
{
if (success)
{
trace(variables.my_variable);
}
else
{
trace("Variables loading failed");
}
};
variables.load("http://www.mysite.com/variables.txt");
и
variables.txt:
my_variable=Hello, World!
variables - это переменная типа LoadVars, экземпляр этого класса. А вот после успешного запроса у этой переменной variables появится свойство my_variable.
Поэтому так:
_root.all.imageLoader.loadMovie(variables.my_variable);
что-то я видимо делаю не правильно. возможно тип переменной в данном случае должен быть другой, но при отладке выдается ошибка:
Error opening URL 'file:///E|/work/unitorg/flash/undefined'
cars.jpg
Где cars.jpg - та картинка, которую я пытаюсь загрузить
2 Alex_UA:
Ну, у вас вместо имени файла undefined. Видимо, не загрузилась ваша переменная с именем картинки.
А какие тут могут быть причины? Здесь в принципе и ошибку негде сделать. Содержимое текстового файла у меня просто выглядит так: my_variable=cars.jpg
В самом мувике код тот, что предложили вы, только с моими путями.
Извините, если задаю глупые вопросы, я просто и правда не силен в программировании.
2 Alex_UA:
Ну что ж... Крепите исходник своей флешки к сообщению. Сохраняйте его в FLA версии CS3. Прилагайте к флешке файлы всех используемых в ней классов, если такие есть. Прилагайте и ваш файл текстовый, и картинку. Если вы с флешкой работали в интернете и она где-то доступна, давайте ссылку.
Вот:
http://stepstudio.com.ua/flash.rar
Извините, что не прикрепленным файлом - размер больше лимитированного оказался (3 метра).
Там в первом слайде я пытаюсь брать ссылку на файл из текстовика, а в остальных слайдах - просто на прямую подгружаю картинки
2 Alex_UA:
Ну вы даёте...
Вот ваш код:
var variables:LoadVars = new LoadVars();
variables.onLoad = function(success:Boolean)
{
if (success)
{
trace(variables.my_variable);
}
else
{
trace("Variables loading failed");
}
};
variables.load("iurl.txt");
_root.all.imageLoader.loadMovie(variables.my_variable);
Вы же пытаетесь загрузить картинку раньше, чем получаете её адрес. Я же вам не зря написал обработчик события onLoad. Эта функция выполняется тогда, когда данные загружены. Причём, загрузка асинхронная. То есть, вы сказали флешке "Грузи!" и не дожидаясь окончания загрузки сразу же пытаетесь открыть картинку.
Унесите загрузку картинки в обработчик onLoad, в ту его часть, где стоит trace(variables.my_variable);
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.