![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Сообщений: 2
|
Доброго времени суток.
Пытаюсь сделать так, чтобы картинки по очереди грузились. проблема в том, что когда я после загрузки первого изображения вызываю функцию displayGallery, следующие картинки не грузятся. Подскажите пожайлуста, что я делаю не так? var gallery_xml:XML = new XML ();
gallery_xml.ignoreWhite = true;
gallery_xml.onLoad = function ()
{
var images:Array = this.firstChild.childNodes;
var gallery_array:Array = new Array ();
for (var i = 0; i < images.length; i++)
{
gallery_array.push ({src:images[i].firstChild.nodeValue});
}
displayGallery (gallery_array);
};
gallery_xml.load ("gallery_tween.xml");
/////////////////////////////////////////////////////////////
var picload = 0;
function displayGallery (gallery_array:Array)
{
var galleryLength:Number = gallery_array.length;
var container:MovieClip = this.createEmptyMovieClip ("image" + picload + "_mc", picload);
mcLoader_mcl.loadClip (gallery_array[picload].src, container);
container._x = 20;
container._y = 20;
}
var mcLoader_mcl:MovieClipLoader = new MovieClipLoader ();
var mclListener:Object = new Object ();
mcLoader_mcl.addListener (mclListener);
mclListener.onLoadProgress = function (target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number)
{
var numPercentLoaded:Number = Math.ceil (numBytesLoaded / numBytesTotal * 100);
trace ("onLoadProgress: " + target_mc + " is " + numPercentLoaded + "% loaded");
};
mclListener.onLoadInit = function ()
{
if (picload < 3)
{
picload++;
displayGallery (gallery_array);
}
};
|
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Наверно потому что gallery_array приватная переменная функции gallery_xml.onLoad.
Т.е ее можно увидить только внутри функции gallery_xml.onLoad. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 2
|
qazwsx, спасибо.
Вынес определеение gallery_array в основной код, все работает. Последний раз редактировалось alastor2004; 02.06.2008 в 12:08. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
|
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Потому что она описана внутри gallery_xml.onLoad
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Че то я не совсем понимаю. Массив gallery_array передается в качестве параметра функции displayGallery. Вы хотите сказать, что она там невидна.?!
А вот здесь, массив действительно невиден |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Она только там и видна... Ты читать то умееш?
Для наглядности я писал |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Цитата:
Впрочем, это неважно - проблема уже разрешена. |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Ай ты меня запутал
gallery_xml.onLoad = function ()
{
var images:Array = this.firstChild.childNodes;
var gallery_array:Array = new Array ();
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Цитата:
Отвечаю: function displayGallery(gallery_array:Array):Void
{
trace(gallery_array);
}
var gallery_array:Array =[1,4,5,6];
displayGallery(gallery_array);
А то что касается области видимости gallery_array Вы правы - gallery_array виден только в gallerey_xml.onLoad. Но с этим никто неспорил, просто функция displayGallery входит в область видимости gallery_xml.onLoad. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|