Background.as 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package elements {
  2. import flash.display.Sprite;
  3. import string.Utils;
  4. import flash.net.URLLoader;
  5. import flash.net.URLRequest;
  6. public class Background extends Sprite {
  7. private var colour:Number;
  8. private var img_x:Number;
  9. private var img_y:Number;
  10. public function Background( json:Object )
  11. {
  12. if( json.bg_colour != undefined )
  13. this.colour = Utils.get_colour( json.bg_colour );
  14. else
  15. this.colour = 0xf8f8d8; // <-- default to Ivory
  16. if ( json.bg_image != undefined )
  17. this.load_img( json.bg_image );
  18. }
  19. private function load_img( json:Object ):void {
  20. // added by NetVicious, 05 July, 2007 ++++
  21. if( json.bg_image_x != undefined )
  22. this.img_x = json.bg_image_x;
  23. if( json.bg_image_y != undefined )
  24. this.img_y = json.bg_image_y;
  25. //
  26. // LOAD THE IMAGE
  27. /*
  28. var loader:URLLoader;
  29. loader = new URLLoader();
  30. loader.addEventListener( Event.COMPLETE, imageLoaded );
  31. var loader:URLRequest = new URLRequest();
  32. loader.addListener({
  33. onLoadInit: function(mymc:MovieClip) {
  34. ref.positionize( mymc, ref.img_x, ref.img_y, new Square(0, 0, Stage.width, Stage.height) );
  35. delete loader;
  36. }
  37. });
  38. loader.loadClip(lv.bg_image, this.img_mc);
  39. */
  40. }
  41. /*
  42. private function xmlLoaded(event:Event):void {
  43. var loader:URLLoader = URLLoader(event.target);
  44. loader.
  45. }
  46. // added by NetVicious, 05 July, 2007
  47. function positionize( mc:MovieClip, myX, myY, s:Square )
  48. {
  49. var newX:Number = 0;
  50. var newY:Number = 0;
  51. if ( isNaN(myX) ) {
  52. myX.toLowerCase()
  53. switch ( myX ) {
  54. case 'center':
  55. newX = (s.width / 2) - (mc._width / 2);
  56. break;
  57. case 'left':
  58. newX = s.left;
  59. break;
  60. case 'right':
  61. newX = s.right - mc._width;
  62. break;
  63. default:
  64. newX = 0;
  65. }
  66. } else if ( myX < 0 ) {
  67. newX = s.right - mc._width - myX;
  68. } else { newX = s.left + myX; }
  69. if ( isNaN(myY) ) {
  70. myY.toLowerCase();
  71. switch ( myY ) {
  72. case 'middle':
  73. newY = (s.height / 2) - (mc._height / 2);
  74. break;
  75. case 'top':
  76. newY = s.top;
  77. break;
  78. case 'bottom':
  79. newY = s.bottom - mc._height;
  80. break;
  81. default:
  82. newY = 0;
  83. }
  84. } else if ( myY < 0 ) {
  85. newY = s.bottom - mc._height - myY;
  86. } else { newY = s.top + myY; }
  87. mc._x = newX;
  88. mc._y = newY;
  89. }
  90. */
  91. public function resize():void {
  92. this.graphics.beginFill( this.colour );
  93. this.graphics.drawRect( 0, 0, this.stage.stageWidth, this.stage.stageHeight );
  94. }
  95. public function die(): void {
  96. this.graphics.clear();
  97. }
  98. }
  99. }