CPreloader.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. function CPreloader() {
  2. var _iMaskWidth;
  3. var _iMaskHeight;
  4. var _oLoadingText;
  5. var _oProgressBar;
  6. var _oMaskPreloader;
  7. var _oFade;
  8. var _oIcon;
  9. var _oIconMask;
  10. var _oButStart;
  11. var _oContainer;
  12. this._init = function () {
  13. s_oSpriteLibrary.init(this._onImagesLoaded, this._onAllImagesLoaded, this);
  14. s_oSpriteLibrary.addSprite("progress_bar", "./sprites/progress_bar.png");
  15. s_oSpriteLibrary.addSprite("200x200", "./sprites/200x200.jpg");
  16. s_oSpriteLibrary.addSprite("but_start", "./sprites/but_start.png");
  17. s_oSpriteLibrary.loadSprites();
  18. _oContainer = new createjs.Container();
  19. s_oStage.addChild(_oContainer);
  20. };
  21. this.unload = function () {
  22. _oContainer.removeAllChildren();
  23. };
  24. this._onImagesLoaded = function () {
  25. };
  26. this._onAllImagesLoaded = function () {
  27. this.attachSprites();
  28. s_oMain.preloaderReady();
  29. };
  30. this.attachSprites = function () {
  31. var oBg = new createjs.Shape();
  32. oBg.graphics.beginFill("black").drawRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT);
  33. _oContainer.addChild(oBg);
  34. var oSprite = s_oSpriteLibrary.getSprite('200x200');
  35. _oIcon = createBitmap(oSprite);
  36. _oIcon.regX = oSprite.width * 0.5;
  37. _oIcon.regY = oSprite.height * 0.5;
  38. _oIcon.x = CANVAS_WIDTH/2;
  39. _oIcon.y = CANVAS_HEIGHT/2 - 80;
  40. _oContainer.addChild(_oIcon);
  41. _oIconMask = new createjs.Shape();
  42. _oIconMask.graphics.beginFill("rgba(0,0,0,0.01)").drawRoundRect(_oIcon.x - 100, _oIcon.y - 100, 200, 200, 10);
  43. _oContainer.addChild(_oIconMask);
  44. _oIcon.mask = _oIconMask;
  45. var oSprite = s_oSpriteLibrary.getSprite('progress_bar');
  46. _oProgressBar = createBitmap(oSprite);
  47. _oProgressBar.x = CANVAS_WIDTH/2 - (oSprite.width / 2);
  48. _oProgressBar.y = CANVAS_HEIGHT/2 + 70;
  49. _oContainer.addChild(_oProgressBar);
  50. _iMaskWidth = oSprite.width;
  51. _iMaskHeight = oSprite.height;
  52. _oMaskPreloader = new createjs.Shape();
  53. _oMaskPreloader.graphics.beginFill("rgba(0,0,0,0.01)").drawRect(_oProgressBar.x, _oProgressBar.y, 1, _iMaskHeight);
  54. _oContainer.addChild(_oMaskPreloader);
  55. _oProgressBar.mask = _oMaskPreloader;
  56. _oLoadingText = new createjs.Text("", "30px " + PRIMARY_FONT, "#fff");
  57. _oLoadingText.x = CANVAS_WIDTH/2;
  58. _oLoadingText.y = CANVAS_HEIGHT/2 + 120;
  59. _oLoadingText.textBaseline = "alphabetic";
  60. _oLoadingText.textAlign = "center";
  61. _oContainer.addChild(_oLoadingText);
  62. var oSprite = s_oSpriteLibrary.getSprite('but_start');
  63. _oButStart = new CTextButton(CANVAS_WIDTH/2, CANVAS_HEIGHT/2+100, oSprite, TEXT_PRELOADER_CONTINUE, "Arial", "#000", 36, _oContainer);
  64. _oButStart.addEventListener(ON_MOUSE_UP, this._onButStartRelease, this);
  65. _oButStart.setVisible(false);
  66. _oFade = new createjs.Shape();
  67. _oFade.graphics.beginFill("black").drawRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT);
  68. _oContainer.addChild(_oFade);
  69. createjs.Tween.get(_oFade).to({alpha: 0}, 500).call(function () {
  70. createjs.Tween.removeTweens(_oFade);
  71. _oContainer.removeChild(_oFade);
  72. });
  73. };
  74. this._onButStartRelease = function(){
  75. s_oMain._onRemovePreloader();
  76. };
  77. this.refreshLoader = function (iPerc) {
  78. _oLoadingText.text = iPerc + "%";
  79. if (iPerc === 100) {
  80. s_oMain._onRemovePreloader();
  81. _oLoadingText.visible = false;
  82. _oProgressBar.visible = false;
  83. };
  84. _oMaskPreloader.graphics.clear();
  85. var iNewMaskWidth = Math.floor((iPerc * _iMaskWidth) / 100);
  86. _oMaskPreloader.graphics.beginFill("rgba(0,0,0,0.01)").drawRect(_oProgressBar.x, _oProgressBar.y, iNewMaskWidth, _iMaskHeight);
  87. };
  88. this._init();
  89. }