Pues, hace falta poner _root.onEnterFrame...
Prueba con esto:
Código:
_root.onLoad = function() {
total = _root.getBytesTotal();
};
_root.onEnterFrame = function() {
loaded = _root.getBytesLoaded();
porcentaje = total/loaded*100;
cargados = Math.round(porcentaje);
_root.barra._xscale = cargados;
_root.txt.text = cargados+" %";
if (cargados>=100) {
gotoAndPlay("inicio");
} else {
//play(); no entiendo el propósito
}
};
Y lo más importante, al poner _root.barra... estás haciendo referencia a una barra que se encuentra en la película principal, no creo que este sea el caso, por ello pon esto:
myMovieClip._lockroot = true;
myMovieClip es el clip en el cual cargas el swf externo, así lograrás que este swf actúe como si se estuviera reproduciendo independientemente.