/src/com/hayesmaker/dice/DieSkinBitmap.as

https://github.com/hayesmaker/AS3-Dices
ActionScript | 175 lines | 135 code | 32 blank | 8 comment | 0 complexity | 37af75f05a7a12d06065afcf02e99db0 MD5 | raw file
  1. package com.hayesmaker.dice
  2. {
  3. import away3d.cameras.SpringCam;
  4. import flash.display.Bitmap;
  5. import flash.display.BitmapData;
  6. import flash.display.Sprite;
  7. import flash.geom.Point;
  8. import flash.geom.Rectangle;
  9. public class DieSkinBitmap
  10. {
  11. private var _diceSize:Number;
  12. private var _diceColour:Number;
  13. private var _diceAlpha:Number;
  14. private var _spotsColour:Number;
  15. private var _spotRadius:Number;
  16. private var _spotsAlpha:Number = 2;
  17. private static const SHRINK_Y:Number = 1;
  18. private var _side:Sprite;
  19. private var _dots:Sprite;
  20. public function DieSkinBitmap(diceSize:Number, diceColour:Number, spotsColour:Number, spotRadius:Number, diceAlpha:Number)
  21. {
  22. _diceSize = diceSize;
  23. _diceColour = diceColour;
  24. _diceAlpha = diceAlpha;
  25. _spotsColour = spotsColour;
  26. _spotRadius = spotRadius;
  27. _side = new Sprite();
  28. _dots = new Sprite();
  29. _side.addChild(_dots);
  30. }
  31. public function get3x2CubeMap():BitmapData
  32. {
  33. //_diceSize = 341.3;
  34. var bmpData:BitmapData = new BitmapData(1024,1024,true);
  35. var sourceRect:Rectangle = new Rectangle(0,0,_diceSize, _diceSize*SHRINK_Y);
  36. bmpData.copyPixels(side1(), sourceRect, new Point(0,0));
  37. bmpData.copyPixels(side2(), sourceRect, new Point(_diceSize,0));
  38. bmpData.copyPixels(side3(), sourceRect, new Point(_diceSize*2,0));
  39. bmpData.copyPixels(side4(), sourceRect, new Point(0,_diceSize*SHRINK_Y));
  40. bmpData.copyPixels(side5(), sourceRect, new Point(_diceSize,_diceSize*SHRINK_Y));
  41. bmpData.copyPixels(side6(), sourceRect, new Point(_diceSize*2,_diceSize*SHRINK_Y));
  42. trace("bmpData.width: " + bmpData.width + " bmpData.height: " + bmpData.height);
  43. return bmpData;
  44. }
  45. public function side1():BitmapData
  46. {
  47. //_diceSize = 341.3;
  48. drawBackGround();
  49. _dots.graphics.clear();
  50. _dots.graphics.beginFill(_spotsColour, _spotsAlpha);
  51. _dots.graphics.drawCircle(_diceSize*0.5, _diceSize*0.5, _spotRadius);
  52. var bmpData:BitmapData = new BitmapData(_diceSize, _diceSize*SHRINK_Y, true);
  53. _side.scaleY = SHRINK_Y;
  54. bmpData.draw(_side);
  55. return bmpData;
  56. }
  57. public function side2():BitmapData
  58. {
  59. //_diceSize = 341.3;
  60. drawBackGround();
  61. _dots.graphics.clear();
  62. _dots.graphics.beginFill(_spotsColour, _spotsAlpha);
  63. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.2, _spotRadius);
  64. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.8, _spotRadius);
  65. var bmpData:BitmapData = new BitmapData(_diceSize, _diceSize*SHRINK_Y, true);
  66. _side.scaleY = SHRINK_Y;
  67. bmpData.draw(_side);
  68. return bmpData;
  69. }
  70. public function side3():BitmapData
  71. {
  72. //_diceSize = 341.3;
  73. drawBackGround();
  74. _dots.graphics.clear();
  75. _dots.graphics.beginFill(_spotsColour, _spotsAlpha);
  76. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.2, _spotRadius);
  77. _dots.graphics.drawCircle(_diceSize*0.5, _diceSize*0.5, _spotRadius);
  78. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.8, _spotRadius);
  79. var bmpData:BitmapData = new BitmapData(_diceSize, _diceSize*SHRINK_Y, true);
  80. _side.scaleY = SHRINK_Y;
  81. bmpData.draw(_side);
  82. return bmpData;
  83. }
  84. public function side4():BitmapData
  85. {
  86. //_diceSize = 341.3;
  87. drawBackGround();
  88. _dots.graphics.clear();
  89. _dots.graphics.beginFill(_spotsColour, _spotsAlpha);
  90. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.2, _spotRadius);
  91. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.8, _spotRadius);
  92. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.2, _spotRadius);
  93. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.8, _spotRadius);
  94. var bmpData:BitmapData = new BitmapData(_diceSize, _diceSize*SHRINK_Y, true);
  95. _side.scaleY = SHRINK_Y;
  96. bmpData.draw(_side);
  97. return bmpData;
  98. }
  99. public function side5():BitmapData
  100. {
  101. //_diceSize = 341.3;
  102. drawBackGround();
  103. _dots.graphics.clear();
  104. _dots.graphics.beginFill(_spotsColour, _spotsAlpha);
  105. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.2, _spotRadius);
  106. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.8, _spotRadius);
  107. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.2, _spotRadius);
  108. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.8, _spotRadius);
  109. _dots.graphics.drawCircle(_diceSize*0.5, _diceSize*0.5, _spotRadius);
  110. _dots.graphics.endFill();
  111. var bmpData:BitmapData = new BitmapData(_diceSize, _diceSize*SHRINK_Y, true);
  112. _side.scaleY = SHRINK_Y;
  113. bmpData.draw(_side);
  114. return bmpData;
  115. }
  116. public function side6():BitmapData
  117. {
  118. //_diceSize = 341.3;
  119. drawBackGround();
  120. _dots.graphics.clear();
  121. _dots.graphics.beginFill(_spotsColour, _spotsAlpha);
  122. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.2, _spotRadius);
  123. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.5, _spotRadius);
  124. _dots.graphics.drawCircle(_diceSize*0.2, _diceSize*0.8, _spotRadius);
  125. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.2, _spotRadius);
  126. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.5, _spotRadius);
  127. _dots.graphics.drawCircle(_diceSize*0.8, _diceSize*0.8, _spotRadius);
  128. _dots.graphics.endFill();
  129. var bmpData:BitmapData = new BitmapData(_diceSize, _diceSize*SHRINK_Y, true);
  130. _side.scaleY = SHRINK_Y;
  131. bmpData.draw(_side);
  132. return bmpData;
  133. }
  134. private function drawBackGround():void
  135. {
  136. //_diceSize = 341.3;
  137. _side.graphics.clear();
  138. _side.graphics.beginFill(_diceColour, _diceAlpha);
  139. _side.graphics.drawRect(0, 0, _diceSize, _diceSize);
  140. _side.graphics.endFill();
  141. }
  142. }
  143. }