PDA

Просмотр полной версии : Как отловить исключительную ситуацию.


fet_frumos
13.07.2002, 15:46
Добрый день/ночь!

Ребята, подскажите как отловить исключительную ситуацию в коде.

непример простой код

onClipEvent (load) {
loadMovieNum ("car1.swf", 0);
}

как определить что файл car1.swf действительно есть, а если нет то выполнить другой скрипт.
Смотрел но функция loadMovieNum ни чего не возвращает
и try catch во влеше не нашел.

Спасибо за любой совет.
Дмитрий.

DUDE
13.07.2002, 18:25
проверит:загружен ли он вот и всё!!!!в уроках посмотри, там есть подгрузка внешнего ролика с проверкой!!!

john
14.07.2002, 05:38
Есть один точный способ отследить есть ли такой файл,
метод страдает тем что нельзя при загрузки swf отслеживать текущий размер загруженного файла, пока руки не дошли это порешить, с jpg и mp3 все ок

Если не нужно делать прелоадер с процентами загрузки то пожалуйста:



// object for preload swf, mp3 and jpg files.
// author evgeniy potapenko (john@3wgraphics.net)

//*************************************************************************
//-------------------------------------------------------------------------
// class image
//-------------------------------------------------------------------------

_global.Image = function(src,mc)
{
this._targetMovie = mc;
this.data = new Sound();
this.data.root = this;
if (src != undefined)
{
this.tmp_interval = setInterval(this,"load",20,src)// for onLoad creat
}
}

//-------------------------------------------------------------------------
// load data
//-------------------------------------------------------------------------

Image.prototype.load = function(src,mc)
{
clearInterval(this.tmp_interval);

this._targetMovie = mc||this._targetMovie;
this._src = src;

this.isSwf = src.toLowerCase().indexOf(".swf") > 0;

this.data.onLoad = function(success)
{
clearInterval(this.root._traceID);
this.root.percent = 100;
this.root.onLoad(success);
}
this._traceID = setInterval(this,"_trace",50);
this.data.loadSound(src);
}

//-------------------------------------------------------------------------
// get loaded bytes (not worked with swf, only jpeg and mp3)
//-------------------------------------------------------------------------

Image.prototype.getBytesLoaded = function()
{
return this.data.getBytesLoaded();
}

//-------------------------------------------------------------------------
// get total bytes
//-------------------------------------------------------------------------

Image.prototype.getBytesTotal = function()
{
return this.data.getBytesTotal();
}

//-------------------------------------------------------------------------
// trace
//-------------------------------------------------------------------------

Image.prototype._trace = function()
{
trace(this.getBytesLoaded())
if(this.getBytesTotal()<=0)return;
this.percent = Math.floor((this.getBytesLoaded()/this.getBytesTotal())*10000)/100;
this.trace();
}

//-------------------------------------------------------------------------
// default onLoad event
//-------------------------------------------------------------------------

Image.prototype.onLoad = function(success)
{
if(success)
{
if(this._targetMovie != undefined) this._targetMovie.loadMovie(this._src);

}else{

//trace("WRONG URL");
}
}

//-------------------------------------------------------------------------
// property src
//-------------------------------------------------------------------------

Image.prototype.addProperty("src",function()
{
return this._src;

},Image.prototype.load)

//-------------------------------------------------------------------------
// lock _global
//-------------------------------------------------------------------------

ASSetPropFlags(_global, "Image", 7);

//*************************************************************************
//-------------------------------------------------------------------------
// usage 1
//-------------------------------------------------------------------------

/*

img = new Image("load.jpg");
img.onLoad = function()
{
myMovie_mc.loadMovie(this.src);
}
img.trace = function()
{
trace("loaded: "+this.percent+"% of "+this.getBytesTotal/1000+"kb")
}
//-------------------------------------------------------------------------
// usage 2
//-------------------------------------------------------------------------
img = new Image();
img.onLoad = function()
{
myMovie_mc.loadMovie("load.swf");
}
img.load("load.jpg")
img.trace = function()
{
trace("loaded: "+this.percent+"% of "+this.getBytesTotal/1000+"kb")
}
//-------------------------------------------------------------------------
// usage 3
//-------------------------------------------------------------------------
img = new Image();
img.onLoad = function()
{
myMovie_mc.loadMovie(this.src);
}
img.src = "load.jpg";
img.trace = function()
{
trace("loaded: "+this.percent+"% of "+this.getBytesTotal/1000+"kb")
}
//-------------------------------------------------------------------------
// usage 4
//-------------------------------------------------------------------------
img = new Image();
img.load("load.jpg",myMovie_mc);
img.trace = function()
{
trace("loaded: "+this.percent+"% of "+this.getBytesTotal/1000+"kb")
}
//-------------------------------------------------------------------------
// usage 5
//-------------------------------------------------------------------------
img = new Image("load.jpg",myMovie_mc);
img.trace = function()
{
trace("loaded: "+this.percent+"% of "+this.getBytesTotal/1000+"kb")
}
*/