home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / Beez.swf / scripts / Preloader.as < prev   
Encoding:
Text File  |  2008-09-03  |  5.8 KB  |  193 lines

  1. package
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.MovieClip;
  5.    import flash.display.SimpleButton;
  6.    import flash.display.Sprite;
  7.    import flash.display.StageAlign;
  8.    import flash.display.StageScaleMode;
  9.    import flash.events.Event;
  10.    import flash.events.MouseEvent;
  11.    import flash.net.URLRequest;
  12.    import flash.net.navigateToURL;
  13.    import flash.text.TextField;
  14.    import flash.text.TextFieldAutoSize;
  15.    import flash.ui.ContextMenu;
  16.    import flash.utils.getDefinitionByName;
  17.    
  18.    public class Preloader extends MovieClip
  19.    {
  20.       
  21.       public static const SPONSOR_VERSION:Boolean = false;
  22.        
  23.       
  24.       private var splashComplete:Boolean;
  25.       
  26.       private var adsSkip_bt:SimpleButton;
  27.       
  28.       private var WindowClass:Class;
  29.       
  30.       private var status_tf:TextField;
  31.       
  32.       private var myContextMenu:ContextMenu;
  33.       
  34.       private var splash:MovieClip;
  35.       
  36.       private var progress:Sprite;
  37.       
  38.       private var window:Sprite;
  39.       
  40.       private var adsBox:Sprite;
  41.       
  42.       private var adsHolder:Sprite;
  43.       
  44.       public function Preloader()
  45.       {
  46.          var tf:TextField = null;
  47.          var url:String = null;
  48.          WindowClass = Preloader_WindowClass;
  49.          super();
  50.          stop();
  51.          stage.align = StageAlign.TOP_LEFT;
  52.          if(SPONSOR_VERSION)
  53.          {
  54.             stage.scaleMode = StageScaleMode.EXACT_FIT;
  55.          }
  56.          else
  57.          {
  58.             stage.scaleMode = StageScaleMode.NO_SCALE;
  59.          }
  60.          MochiBot.track(this,"be42325c");
  61.          initContextMenu();
  62.          if(SPONSOR_VERSION)
  63.          {
  64.             if(checkDomain())
  65.             {
  66.                initWindow();
  67.             }
  68.             else
  69.             {
  70.                tf = new TextField();
  71.                tf.width = 400;
  72.                tf.autoSize = TextFieldAutoSize.LEFT;
  73.                tf.wordWrap = true;
  74.                url = stage.loaderInfo.url;
  75.                tf.text = "domain " + url + " not allowed.";
  76.                addChild(tf);
  77.             }
  78.          }
  79.          else
  80.          {
  81.             initWindow();
  82.          }
  83.       }
  84.       
  85.       private function efHandler(e:Event) : void
  86.       {
  87.          var percent:Number = NaN;
  88.          graphics.clear();
  89.          if(framesLoaded == totalFrames)
  90.          {
  91.             removeEventListener(Event.ENTER_FRAME,efHandler);
  92.             progress.scaleX = 1;
  93.             adsSkipClickHandler(null);
  94.          }
  95.          else
  96.          {
  97.             percent = root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal;
  98.             progress.scaleX = percent;
  99.          }
  100.       }
  101.       
  102.       private function initContextMenu() : void
  103.       {
  104.          myContextMenu = new ContextMenu();
  105.          myContextMenu.hideBuiltInItems();
  106.          contextMenu = myContextMenu;
  107.       }
  108.       
  109.       private function splashEfHandler(e:Event) : void
  110.       {
  111.          if(splash.currentFrame == splash.totalFrames)
  112.          {
  113.             splash.stop();
  114.             splash.removeEventListener(Event.ENTER_FRAME,splashEfHandler);
  115.             splashComplete = true;
  116.             nextFrame();
  117.             init();
  118.          }
  119.       }
  120.       
  121.       private function adsSkipClickHandler(e:MouseEvent) : void
  122.       {
  123.          adsHolder.parent.removeChild(adsHolder);
  124.          splash.visible = true;
  125.          splash.play();
  126.          splash.buttonMode = true;
  127.          splash.addEventListener(MouseEvent.CLICK,splashClickHandler);
  128.          splash.addEventListener(Event.ENTER_FRAME,splashEfHandler);
  129.       }
  130.       
  131.       private function init() : void
  132.       {
  133.          var app:Object = null;
  134.          var mainClass:Class = getDefinitionByName("Balance2") as Class;
  135.          if(mainClass)
  136.          {
  137.             app = new mainClass();
  138.             addChild(app as DisplayObject);
  139.          }
  140.       }
  141.       
  142.       private function splashClickHandler(e:MouseEvent) : void
  143.       {
  144.          navigateToURL(new URLRequest("http://www.ourworld.com/v11/tracking?source=game&id=fglbeez"),"_blank");
  145.       }
  146.       
  147.       private function checkDomain() : Boolean
  148.       {
  149.          var url:String = stage.loaderInfo.url;
  150.          var urlStart:Number = url.indexOf("://") + 3;
  151.          var urlEnd:Number = url.indexOf("/",urlStart);
  152.          var domain:String = url.substring(urlStart,urlEnd);
  153.          var LastDot:Number = domain.lastIndexOf(".") - 1;
  154.          var domEnd:Number = domain.lastIndexOf(".",LastDot) + 1;
  155.          domain = domain.substring(domEnd,domain.length);
  156.          if(domain == "localhost" || domain == "" || domain == "isfland.com" || domain == "flashgamelicense.com" || domain == "ourworld.com")
  157.          {
  158.             return true;
  159.          }
  160.          return false;
  161.       }
  162.       
  163.       private function initWindow() : void
  164.       {
  165.          window = new WindowClass();
  166.          progress = window.getChildByName("progress") as Sprite;
  167.          progress.scaleX = 0;
  168.          status_tf = window.getChildByName("status_tf") as TextField;
  169.          splash = window.getChildByName("splash") as MovieClip;
  170.          splashComplete = false;
  171.          adsHolder = window.getChildByName("adsHolder") as Sprite;
  172.          adsBox = adsHolder.getChildByName("adBox") as Sprite;
  173.          adsSkip_bt = adsHolder.getChildByName("skip_bt") as SimpleButton;
  174.          adsSkip_bt.visible = false;
  175.          if(SPONSOR_VERSION)
  176.          {
  177.             splashComplete = true;
  178.             splash.parent.removeChild(splash);
  179.             adsHolder.parent.removeChild(adsHolder);
  180.          }
  181.          else
  182.          {
  183.             splash.visible = false;
  184.             splash.stop();
  185.             adsSkip_bt.addEventListener(MouseEvent.CLICK,adsSkipClickHandler);
  186.          }
  187.          progress.scaleX = 0;
  188.          addChild(window);
  189.          addEventListener(Event.ENTER_FRAME,efHandler);
  190.       }
  191.    }
  192. }
  193.