CAnimMonitor.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. function CAnimMonitor(iX, iY, oParentContainer) {
  2. var _pStartPos;
  3. var _aMonitorStrike = new Array();
  4. var _aMonitorSpare = new Array();
  5. var _aMonitorGutter = new Array();
  6. var _oPixelTiling;
  7. var _oParentContainer = oParentContainer;
  8. var _oContainer;
  9. var _oContainerStrike;
  10. var _oContainerSpare;
  11. var _oContainerGutter;
  12. var _fScaleStart = 1;
  13. var _iAnimMonitor = 0;
  14. var _fBuffer = 0;
  15. this._init = function (iX, iY) {
  16. _pStartPos = {x: iX, y: iY};
  17. _oContainer = new createjs.Container();
  18. _oContainer.x = _pStartPos.x;
  19. _oContainer.y = _pStartPos.y;
  20. _oParentContainer.addChild(_oContainer);
  21. _oContainerStrike = new createjs.Container();
  22. _oContainer.addChild(_oContainerStrike);
  23. _oContainerStrike.visible = false;
  24. _oContainerSpare = new createjs.Container();
  25. _oContainer.addChild(_oContainerSpare);
  26. _oContainerSpare.visible = false;
  27. _oContainerGutter = new createjs.Container();
  28. _oContainer.addChild(_oContainerGutter);
  29. _oContainerGutter.visible = false;
  30. var iX = 0;
  31. var iY = 0;
  32. var oSpritePixel = s_oSpriteLibrary.getSprite("pattern_monitor");
  33. for (var i = 0; i < NUM_SPRITE_MONITOR; i++) {
  34. _aMonitorStrike.push(createBitmap(s_oSpriteLibrary.getSprite("monitor_strike_" + i)));
  35. _aMonitorStrike[i].visible = false;
  36. _oContainerStrike.addChild(_aMonitorStrike[i]);
  37. _aMonitorSpare.push(createBitmap(s_oSpriteLibrary.getSprite("monitor_spare_" + i)));
  38. _aMonitorSpare[i].visible = false;
  39. _oContainerSpare.addChild(_aMonitorSpare[i]);
  40. _aMonitorGutter.push(createBitmap(s_oSpriteLibrary.getSprite("monitor_gutterball_" + i)));
  41. _aMonitorGutter[i].visible = false;
  42. _oContainerGutter.addChild(_aMonitorGutter[i]);
  43. }
  44. _aMonitorStrike[0].visible = true;
  45. _aMonitorSpare[0].visible = true;
  46. _aMonitorGutter[0].visible = true;
  47. var matTiling = new createjs.Matrix2D();
  48. matTiling.a = matTiling.d = 0.16;
  49. _oPixelTiling = new createjs.Shape();
  50. _oPixelTiling.graphics.beginBitmapFill(oSpritePixel, 'repeat', matTiling).drawRect(0, 0, 790, 88);
  51. _oPixelTiling.y = 1;
  52. _oPixelTiling.alpha = 0.65;
  53. _oContainer.addChild(_oPixelTiling);
  54. _oContainer.regY = s_oSpriteLibrary.getSprite("monitor_strike_0").height;
  55. };
  56. this.setPosition = function (iX, iY) {
  57. _oContainer.x = iX;
  58. _oContainer.y = iY;
  59. };
  60. this.getStartPos = function () {
  61. return _pStartPos;
  62. };
  63. this.setVisibleMonitorStrike = function (bVal) {
  64. _oContainerStrike.visible = bVal;
  65. };
  66. this.setVisibleMonitorSpare = function (bVal) {
  67. _oContainerSpare.visible = bVal;
  68. };
  69. this.setVisibleMonitorGutter = function (bVal) {
  70. _oContainerGutter.visible = bVal;
  71. };
  72. this.viewMonitor = function (aMonitor, iFrame) {
  73. aMonitor[iFrame].visible = true;
  74. };
  75. this.hideMonitor = function (aMonitor, iFrame) {
  76. aMonitor[iFrame].visible = false;
  77. };
  78. this.getStrikeArray = function () {
  79. return _aMonitorStrike;
  80. };
  81. this.getSpareArray = function () {
  82. return _aMonitorSpare;
  83. };
  84. this.getGutterArray = function () {
  85. return _aMonitorGutter;
  86. };
  87. this.scaleFactor = function (fScaleFactor) {
  88. _oContainer.scaleX = _oContainer.scaleY = ((fScaleFactor * 0.5) / EDGEBOARD_X) * (ANIM_MONITOR_SCALE_F - _fScaleStart) + _fScaleStart;
  89. };
  90. this.disableRunningMonitor = function () {
  91. _oContainerStrike.visible = false;
  92. _oContainerSpare.visible = false;
  93. _oContainerGutter.visible = false;
  94. };
  95. this.animMonitor = function (aMonitor) {
  96. _fBuffer += s_iTimeElaps;
  97. if (_fBuffer > BUFFER_ANIM_MONITOR) {
  98. this.hideMonitor(aMonitor, _iAnimMonitor);
  99. if (_iAnimMonitor + 1 < NUM_SPRITE_MONITOR) {
  100. this.viewMonitor(aMonitor, _iAnimMonitor + 1);
  101. _iAnimMonitor++;
  102. } else {
  103. this.disableRunningMonitor();
  104. _iAnimMonitor = 0;
  105. _fBuffer = 0;
  106. this.viewMonitor(aMonitor, _iAnimMonitor);
  107. return false;
  108. }
  109. _fBuffer = 0;
  110. }
  111. return true;
  112. };
  113. this._init(iX, iY);
  114. s_oAnimMonitor = this;
  115. return this;
  116. }
  117. var s_oAnimMonitor = null;