PDA

Просмотр полной версии : Выгрузка клипа


scarbo
17.06.2008, 13:04
Можно ли как-нтбудь отследить выгрузку клипа,и после в тот же клип контейнер загрузить другой клип.Вот код:import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData;
import flash.geom.*;//импорт нужных классов
play_mc.useHandCursor = false;//отменяем руку на мышаре
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("1.jpg", cont_mc);
play_mc.onPress = function(){//начинаем издеваться
cont_mc.varTween2 = new Tween(cont_mc, "_xscale", Regular.easeOut, cont_mc._xscale, 200, 1, true);
cont_mc.varTween1 = new Tween(cont_mc, "_yscale", Regular.easeOut, cont_mc._yscale, 200, 1, true);
cont_mc.varTween = new Tween(cont_mc, "_alpha", Regular.easeOut, cont_mc._alpha, 0, 1, true);
cont_mc.varTween.onMotionFinished = function() {
my_mcl.unloadClip("1.jpg", cont_mc);
};
}

Следующею картинку удается загрузить только в другой клип контейнер,а картинок много,можно ли в один все это загружать?

chingachgoog
17.06.2008, 15:00
А что в конечном итоге надо?
Если просто грузить по-очереди клипы (картинки) в контейнер, то и не надо выгружать - сразу, как требуется, в этот контейнер грузить следующую порцию (предыдущий сам выгрузится).

scarbo
17.06.2008, 20:52
Да,именно это и надо,но так не грузиться.

chingachgoog
17.06.2008, 21:46
А где это видно?

Котяра
18.06.2008, 00:05
import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData;
import flash.geom.*;//импорт нужных классов
play_mc.useHandCursor = false;//отменяем руку на мышаре
function loadClip(){
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("1.jpg", cont_mc);
}

play_mc.onPress = function(){//начинаем издеваться
cont_mc.varTween2 = new Tween(cont_mc, "_xscale", Regular.easeOut, cont_mc._xscale, 200, 1, true);
cont_mc.varTween1 = new Tween(cont_mc, "_yscale", Regular.easeOut, cont_mc._yscale, 200, 1, true);
cont_mc.varTween = new Tween(cont_mc, "_alpha", Regular.easeOut, cont_mc._alpha, 0, 1, true);
cont_mc.varTween.onMotionFinished = function() {
my_mcl.unloadClip("1.jpg", cont_mc);
loadClip() // сразу работать не будет нужно поколдовать с областями видимости итп};
}


А вообще используйте событие мувклиплоадера onInit или onComplite, а то не понятно когда издевательства стоит начинать)

scarbo
18.06.2008, 02:20
Это имеется ввиду_visible = true, _visible = false ??

Котяра
18.06.2008, 23:34
Это имеется ввиду_visible = true, _visible = false ??
Нет))
я имел ввиду видимость вызываемой функции loadClip()
я ведь не знаю из какого контекста был вырван код.
есле код из класса то одно, если из мувклипа то другое. вот, может быть, работающий пример для рута:

//все в руте:

import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.display.BitmapData;
import flash.geom.*;//импорт нужных классов
play_mc.useHandCursor = false;//отменяем руку на мышаре
_root.loadClip = function(){// хотя,если функция описывается в руте, можно опустить
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("1.jpg", _root.cont_mc); // здесь наверное надо как-то менять урл
}

play_mc.onPress = function(){//начинаем издеваться
cont_mc.varTween2 = new Tween(cont_mc, "_xscale", Regular.easeOut, cont_mc._xscale, 200, 1, true);
cont_mc.varTween1 = new Tween(cont_mc, "_yscale", Regular.easeOut, cont_mc._yscale, 200, 1, true);
cont_mc.varTween = new Tween(cont_mc, "_alpha", Regular.easeOut, cont_mc._alpha, 0, 1, true);
cont_mc.varTween.onMotionFinished = function() {
_root.my_mcl.unloadClip("1.jpg", cont_mc);
_root.loadClip()
};
}


А вообще проще сделать класс делегировать на него все эвенты и управлять счетчиком картинок

класс Такойта {
..
var счетчик;
var контейнер:MovieClip;

конструктор{
счетчик =0 // ну или чему-там надо
}

функция загрузкиКартинки(счетчик) {

создать мувклиплоадер;
назначить (делегировать) обработчик окончания загрузки картики функции аКогдаКартинкаЗагрузилась;
мувклиплоадером загрузить в контейнер картинку по адресу счетчик +".jpg". //ну или окуда берется.. лучше из XML
}
..
..
функция аКогдаКартинкаЗагрузилась(клипик) {

здесь что творим при помощи твинов с аргументом функции (клипик)
для слежения за окончанием издевательства делегируем функцию аКогдаЧертовыТвиныЗакончились.
}

..
функция аКогдаЧертовыТвиныЗакончились() {

счетчик++;
загрузкиКартинки(счетчик);

}

..


}

Пример на Нерусском языку во вложении.. а вообще походу все грузится, просто если грузить в тот же клип. альфа остается нулевой..

scarbo
19.06.2008, 09:57
Котяра огромное спасибо,иду разбираться