Greetings,
I’ve got some preloader action script that I would appreciate someone to look at.
It is currently set to cause the target clip to play after the load is 100% complete. I want the clip to begin after only 20% has downloaded.
Unfortunately its not at all the normal method that I use when creating my own preloaders so I’m lost.
thanks!
/*
Loader.as
*/
class com.macromedia.flashvideogallery.Loader extends MovieClip
{
var loadTarget:MovieClip;
var right:MovieClip;
var middle:MovieClip;
var left:MovieClip;
var track:MovieClip;
var middleOriginalWidth:Number;
var middleOriginalX:Number;
var rightOriginalX:Number;
var middleMaxWidth:Number;
var handlerClip:MovieClip;
var method:String;
var lbl:TextField;
function Loader()
{
init();
}
private function init():Void
{
middleOriginalWidth = middle._width;
middleOriginalX = middle._x;
rightOriginalX = right._x;
middleMaxWidth = track._width - right._width;
}
function setLoadTarget(t:MovieClip):Void
{
loadTarget = t;
setStatus(0);
onEnterFrame = function()
{
monitorLoadProgress();
}
}
private function monitorLoadProgress():Void
{
var bl:Number = loadTarget.getBytesLoaded();
var bt:Number = loadTarget.getBytesTotal();
if (bl > 4 && bt > 4 && bl >= bt)
{
delete onEnterFrame;
setStatus(1);
handlerClip[method]();
}
else
{
setStatus(bl / bt);
}
}
function setLoadHandler(m:String, hc:MovieClip)
{
handlerClip = hc;
method = m;
}
function reset():Void
{
middle._width = middleOriginalWidth;
middle._x = middleOriginalX;
right._x = rightOriginalX;
}
function setLabel(s:String):Void
{
lbl.text = s;
}
private function setStatus(delta:Number)
{
middle._width = Math.round(delta * middleMaxWidth);
right._x = this.middle._x + middle._width;
}
}