External SWF dissapears afte sometime
hi there!
i have preloader preload swf file, works fine, except, when run html file on browser, external swf file dissapears after 1-2 minutes,
basically, put preloader (swf file), on html code, , preload external swf.
this code:
import flash.geom.*
import flash.display.*
var loadurl:string = "external.swf";
var ndepth:number = 0;
var nwidth:number = 200;
var nheight:number = 20;
var cloader:moviecliploader = new moviecliploader();
var olistener:object = {onloadinit:oncontentloaded};
var mcloader:movieclip = this.createemptymovieclip("loader_mc", 0);
var mccontent:movieclip = this.createemptymovieclip("content_mc", 1);
var cmatrix:matrix = new matrix();
cloader.addlistener(olistener);
txtpercload = mcloader.createtextfield("percload_txt", ndepth++, 0, 0, nwidth, nheight);
mccontent._alpha = 0;
mccontent._lockroot = true;
mcloader._x = stage.width/2 - mcloader._width/2;
mcloader._y = stage.height/2 - mcloader._height/2;
txtpercload._x = mcloader._width/2 - txtpercload._width/2;
txtpercload._y = mcloader._height/2 - txtpercload._height/2;
cloader.loadclip(loadurl, mccontent);
_root.onenterframe = function()
{
var nbytesloaded:number = mccontent.getbytesloaded();
var nbytestotal:number = mccontent.getbytestotal();
var npercloaded:number = math.round(nbytesloaded / nbytestotal * 100);
if(npercloaded > 0)
{
settextformat(txtpercload, npercloaded.tostring() + "%");
}
}
function oncontentloaded(void):void
{
settextformat(txtpercload, "100%");
cloader.removelistener(olistener);
delete _root.onenterframe;
delete olistener;
delete cloader;
_root.onenterframe = function()
{
//trace(_root + "::oncontentloaded::_root.onenterframe");
var ninc:number = 5;
mcloader._alpha -= ninc;
mccontent._alpha += ninc;
if(mcloader._alpha <= 100) {mcloader.removemovieclip();};
}
}
function settextformat(txtfield:textfield, stext:string)
{
var txtfmt:textformat = new textformat();
stext = "loading content " + stext;
txtfmt.font = "arial";
txtfmt.align = "center";
txtfmt.size = 12;
txtfmt.color = 0xff0000;
//txtfmt.bold = true;
txtfield.selectable = false;
txtfield.text = stext;
txtfield.settextformat(txtfmt);
txtfmt = null;
}
please let me know doing wrong? in advance
if keep eye on value of mccontent._alpha, you'll see because never shut off second onenterframe function, _alpha property continues go until reaches maximum , flips negative, means goes invisible. confirmed running code.
i don't know limit is. in actionscript, when number limit reached common advance opposite limit - looped numeric system.
More discussions in ActionScript 1 and 2
adobe
Comments
Post a Comment