/** * LoadingInit Class * ... * @author yo yamamoto [eregance@mail.goo.ne.jp] * @link http://pulltab.info/ * @since 09.19.2009 * @version 1.0 * @example // Please write this code on a frame action. * import lib.LoadingInit; * var hoge:LoadingInit = new LoadingInit( loadTargetObject:Object ); */ class lib.LoadingInit extends MovieClip { // Setting private var nProgBarTargetAlpha:Number = 75; private var nProgBarTargetXscale:Number = 100; private var barWidth:Number = Stage.width; private var barHeight:Number = 6; private var nEasingSpeed:Number = 5; // valiable private var targetObj:Object; private var putBarObj:Object; public function LoadingInit(_targetObj:Object) { _root.stop(); // It put on bar target targetObj = _targetObj; putBarObj = _root; trace(typeof(putBarObj)); init(); } private function init():Void { putBarObj.createEmptyMovieClip("pBar_mc", 9999); var bar:MovieClip = putBarObj.pBar_mc.createEmptyMovieClip("bar_mc", 10); bar.beginFill(0xFF0000, 100); bar.moveTo(0, 0); bar.lineTo(barWidth, 0); bar.lineTo(barWidth, barHeight); bar.lineTo(0, barHeight); bar.lineTo(0, 0); bar.endFill(); bar._xscale = 10; bar._alpha = 0; putBarObj.pBar_mc.createTextField("label_txt", 30, 0, barHeight, 100, 21); putBarObj.pBar_mc.label_txt.autoSize = "left"; putBarObj.pBar_mc.label_txt.selectable = false; putBarObj.pBar_mc._x = (Stage.width - barWidth) / 2; putBarObj.pBar_mc._y = (Stage.height - barHeight) / 2; var _nAlpha:Number = nProgBarTargetAlpha; var _nXscale:Number = nProgBarTargetXscale; var _targetObj:Object = targetObj; var _nEasingSpeed:Number = nEasingSpeed; putBarObj.pBar_mc.onEnterFrame = function ():Void { trace(this._name); var pctLoaded:Number = Math.floor(_targetObj.getBytesLoaded() / _targetObj.getBytesTotal() * 100); if (!isNaN(pctLoaded)) { this.bar_mc._alpha += (_nAlpha * pctLoaded / 100 - this.bar_mc._alpha) / _nEasingSpeed; this.bar_mc._xscale += (_nXscale * pctLoaded / 100 - this.bar_mc._xscale) / _nEasingSpeed; var labelNum:Number = Math.floor(this.bar_mc._xscale); this.label_txt.text = labelNum + "% loaded"; if (this.bar_mc._xscale >= 99.5) { labelNum = 100; this.bar_mc._xscale = 100; this.label_txt._visible = false; this.onEnterFrame = undefined; delete this.onEnterFrame; this.onEnterFrame = function():Void { this.bar_mc._alpha += (0 - this.bar_mc._alpha) / _nEasingSpeed * 2; if (this.bar_mc._alpha < 2) { this.bar_mc._alpha = false; this.onEnterFrame = undefined; delete this.onEnterFrame; trace(true); _root.play(); } } } } }; } }