Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.tri4m.framework.core.builder.MovieClipController;
- import com.tri4m.framework.data.loader.Progress;
- class com.tri4m.application.js.external.ImagePreloader
- {
- private var base:MovieClipController;
- private var progressbar:MovieClipController;
- private var controllerWrapper:MovieClipController;
- private var base_InstanceName:String = "ExternalInterfaceImagePreloader";
- private var progressbar_InstanceName:String = "Progressbar";
- private var controllerWrapper_InstanceName:String = "ControllerWrapper";
- private var controller:Progress;
- public function get Base():MovieClip
- {
- return this.base.MovieClip;
- }
- public function get Progressbar():MovieClip
- {
- return this.progressbar.MovieClip;
- }
- public function get ControllerWrapper():MovieClip
- {
- return this.controllerWrapper.MovieClip;
- }
- public function ImagePreloader(target:MovieClip, depth:Number)
- {
- this.base = new MovieClipController(target, this.base_InstanceName, depth);
- this.progressbar = new MovieClipController(this.Base, this.progressbar_InstanceName);
- this.controllerWrapper = new MovieClipController(this.Base, this.controllerWrapper_InstanceName);
- this.controller = new Progress(this.ControllerWrapper);
- this.controller.callbackOnStart = this.createCallbackOnStart();
- this.controller.callbackOnError = this.createCallbackOnError();
- this.controller.callbackOnLoad = this.createCallbackOnLoad();
- this.controller.callbackOnComplete = this.createCallbackOnComplete();
- this.controller.callbackOnInit = this.createCallbackOnInit();
- this.controller.callbackOnTimeout = this.createCallbackOnTimeout();
- this.controller.timeoutOn = 60000;
- this.controller.loadClip('xxxxl.jpg');
- }
- private function createCallbackOnStart():Function
- {
- var p:Progress = this.controller;
- return function ():Void
- {
- flash.external.ExternalInterface.call("alert", 'start download ' + p.url);
- };
- }
- private function createCallbackOnError():Function
- {
- var p:Progress = this.controller;
- return function ():Void
- {
- flash.external.ExternalInterface.call("alert", 'error ' + p.httpStatus);
- };
- }
- private function createCallbackOnLoad():Function
- {
- var p:Progress = this.controller;
- var send:Boolean = false;
- return function ():Void
- {
- if(send === false)
- {
- flash.external.ExternalInterface.call("alert", 'bytesTotal ' + p.bytesTotal);
- send = true;
- }
- // not yet...
- //flash.external.ExternalInterface.call("alert", 'loading ' + int(p.percentLoaded) + '%');
- };
- }
- private function createCallbackOnComplete():Function
- {
- var p:Progress = this.controller;
- return function ():Void
- {
- flash.external.ExternalInterface.call("alert", p.timeTaken + 'ms');
- };
- }
- private function createCallbackOnInit():Function
- {
- var p:Progress = this.controller;
- return function ():Void
- {
- flash.external.ExternalInterface.call("alert", 'width ' + p.width + 'px/height ' + p.height + 'px');
- };
- }
- private function createCallbackOnTimeout()
- {
- var p:Progress = this.controller;
- return function ():Void
- {
- flash.external.ExternalInterface.call("alert", 'Timeout after ' + p.timeTaken + 'ms');
- };
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement