hi friends
i have a preloading function countBytes() . But i dont know how properly called from my class.
i realy dont know the syntax
my class
class LanguageManager {
public static var LANG:Array;
private static var _instance:LanguageManager = null;
private var _xmlPath:String;
private var _xmlDoc:XML;
// constructor
private function LanguageManager() {
// empty
}
// function getLanguageManager()
public static function getLanguageManager():LanguageManager {
if (LanguageManager._instance == null) {
LanguageManager._instance = new LanguageManager();
}
return LanguageManager._instance;
}
//preload function
private function countBytes() {
var loadedBytes = _xmlDoc.getBytesLoaded();
var totalBytes = _xmlDoc.getBytesTotal();
var bytes = Math.ceil((loadedBytes/1024)*1000);
var percentLoad = Math.ceil((loadedBytes/totalBytes)*100);
_root.loader_mc.totalBox.text = bytes+" bytes";
_root.loader_mc.loadBox.text = percentLoad+" %";
if (loadedBytes>=totalBytes) {
percentLoad = 101;
}
}
// function init()
public function init(lang:String):Void {
_xmlPath = "xml/"+lang+".xml";
loadXMLFile();
}
// function loadXMLFile()
private function loadXMLFile():Void {
var _this:LanguageManager = this;
_xmlDoc = new XML();
_xmlDoc.ignoreWhite = true;
_xmlDoc.onLoad = function(success:Boolean):Void {
if (success) {
_this.xml2Array();
_xmlDoc.getBytesLoaded();
}
};
_xmlDoc.load(_xmlPath);
}
// function xml2Array()+
private function xml2Array() {
LanguageManager.LANG = new Array();
// loop through nodes
for (var i:Number = 0; i<_xmlDoc.firstChild.childNodes.length; i++) {
var node:XML = _xmlDoc.firstChild.childNodes*;
var nodeName:String = node.nodeName;
var val:String = node.firstChild.nodeValue;
LanguageManager.LANG[nodeName] = val;
}
// continue with your application
Main.getMain().doSomething();
}
}
calling from the first frame in timeline
//Inii LANGUAGE
var defaultLanguage:String = "en";
Main.getMain().init(this, defaultLanguage);
//PRELOAD XML IN FIRST FRAME
countBytes();
also i have a enter frame function in a movie clip to preload my root
stop();
//PRELOAD ROOT IN MC
onEnterFrame = function () {
totalBytes = _parent.getBytesTotal() + _parent.Main._xmlDoc.getBytesTotal();
loadedBytes = _parent.getBytesLoaded() + _parent.Main._xmlDoc.getBytesTotal();
percent = Math.ceil((loadedBytes/totalBytes)*100);
gotoAndStop(percent);
info_txt.text = percent+" %";
if (percent>=100) {
_parent.gotoAndPlay("Go");
delete onEnterFrame;
}
};
I got no exit!!
please any adviceā¦i will be very aprreciate!
:hangover: