PDA

Просмотр полной версии : Как узнать проигран ли подгруженный ролик?


Джексон
14.12.2010, 13:12
Прелоадер сделан из трех фремов - зугрузчик, и два фрейма с мувиклипами для двух подгружаемых swf.

Прелоадер загружает заставку и ролик который идет когда заставка закончилась. Как узнать что проиграна заставка и запустить второй ролик?

З.Ы. Очень нужно клиент рвет на части, а я со флешом не очень - десктоп и CMS и т.д. вот этим занимаюсь.

Hauts
14.12.2010, 14:05
_currentframe и _totalframes свойства у загруженного ролика помогут. При условии, что у этого ролика вся анимация на основной временной шкале.

Джексон
15.12.2010, 16:34
Да вся анимация на основной временной шкале.

Короче сделал подругому - единственный фрейм с кодом ниже.


stop();
var mc1:MovieClip=new MovieClip();
this.createEmptyMovieClip("clip1",0);
mc1=clip1;

var mc2:MovieClip=new MovieClip();
this.createEmptyMovieClip("clip2",1);
mc2=clip2;
mc2._visible=false;

var loader:MovieClipLoader=new MovieClipLoader();
loader.loadClip("flash/pyramid_begin.swf",mc1);
loader.loadClip("flash/pyramid_begin.swf",mc2);
_root.onEnterFrame=function():Void
{
var data:Object=loader.getProgress(mc1)+loader.getProgress(mc2);
if(data.bytesLoaded==data.bytesTotal)
{
_root.start_clip._visible=false;
mc1.play();
delete _root.onEnterFrame;
}
else
{
//Здесь передаем значение загрузки в процентах полю в клипе который находиться во фрейме
otnoshenie = data.bytesLoaded/data.bytesTotal*100;
_root.start_clip.procent = Math.floor(otnoshenie)+"%";
}

}

//Вот здесь вроде как должно отслеживаться событие что проигран последний фрейм в заставке и
//должен осуществляться переход ко второму мувику - перый клип делаем невидимым и делаем видим второй.

mc1.onEnterFrame()
{
if(mc1._currentframe==mc1._totalframes)
{
mc2._visible=false;
mc2.play();
}

}