1. package pages.mainPage {
  2. import flash.display.*;
  3. import flash.events.*;
  4. import flash.geom.Rectangle;
  5. import flash.net.*;
  6. import flash.text.TextField;
  7. import gs.TweenLite;
  8. import gs.easing.*;
  9.  
  10. /**
  11. * @author Fajar Sylvana
  12. */
  13. [Embed(source='my_web.swf', symbol='PageServices')]
  14. public class PageServices extends Sprite{
  15. public var service_txt:TextField
  16. public var scrubServ:Sprite;
  17. public var scrubBoxServ:Sprite;
  18. public var bgBlue :Sprite;
  19. public var bgGrey:Sprite;
  20. public var barTop :Sprite;
  21. public var bgLow :Sprite;
  22. public var bgCont :Sprite;
  23. public var title:Sprite;
  24.  
  25. private var textLoader:URLLoader
  26. private var bounds:Rectangle;
  27. private var dragging:Boolean;
  28. private var posHeight:Number;
  29.  
  30. public function PageServices(){
  31. init();
  32.  
  33. textLoader.addEventListener(Event.COMPLETE, textLoad, false, 0, true);
  34. scrubServ.addEventListener(MouseEvent.MOUSE_DOWN, dragSlider, false, 0, true);
  35. addEventListener(MouseEvent.MOUSE_UP, dropSlider, false, 0, true);
  36. service_txt.addEventListener(Event.SCROLL, textScrolled, false, 0, true);
  37. addEventListener(Event.ENTER_FRAME, checkSlider, false, 0, true);
  38. }
  39. private function init():void{
  40. posHeight = scrubBoxServ.height-(scrubServ.height);
  41. textLoader = new URLLoader();
  42. textLoader.load(new URLRequest("assets/comingUp.txt"));
  43. service_txt.wordWrap=true;
  44. bounds = new Rectangle(scrubServ.x, scrubServ.y, 0, posHeight);
  45. dragging = false;
  46.  
  47. scrubServ.alpha=0;
  48. scrubBoxServ.alpha=0;
  49. bgCont.alpha=0;
  50.  
  51. }
  52. private function textLoad(e:Event):void{
  53. service_txt.htmlText = e.currentTarget.data;
  54. }
  55. private function dragSlider(e:MouseEvent):void{
  56. scrubServ.startDrag(false, bounds);
  57. dragging = true;
  58. }
  59. private function dropSlider(e:MouseEvent):void{
  60. scrubServ.stopDrag();
  61. dragging = false;
  62. }
  63. private function checkSlider(e:Event):void{
  64. service_txt.scrollV = Math.round ((scrubServ.y - bounds.y)* service_txt.maxScrollV/posHeight)
  65. }
  66. private function textScrolled(e:Event):void{
  67. scrubServ.y = bounds.y + (service_txt.scrollV * posHeight/service_txt.maxScrollV);
  68. }
  69. public function reset():void{
  70. TweenLite.to(bgBlue, 0, {y:377} );
  71. TweenLite.to(barTop, 0 , {x:-640} );
  72. TweenLite.to(bgCont, 0 , {alpha:0} );
  73. TweenLite.to(bgGrey, 0 , {y:400} );
  74. TweenLite.to(bgLow, 0 , {x:822} );
  75. TweenLite.to(title, 0 , {x:-219} );
  76. TweenLite.to(service_txt, 0 , {y:-416} );
  77. TweenLite.to(scrubServ, 0 , {alpha:0} );
  78. TweenLite.to(scrubBoxServ, 0 , {alpha:0} );
  79.  
  80. TweenLite.to(bgBlue, .8 , {y:37.6, ease:Back.easeOut} );
  81. TweenLite.to(barTop, .8 , {x:132.5, delay:.2, ease:Back.easeOut} );
  82. TweenLite.to(bgCont, .7 , {alpha:1, delay:.4, ease:Back.easeOut} );
  83. TweenLite.to(bgGrey, 1 , {y:60.6, delay:.5, ease:Back.easeOut} );
  84. TweenLite.to(bgLow, 1 , {x:132.3, delay:.7, ease:Back.easeOut} );
  85. TweenLite.to(title, 1 , {x:0, delay:.9, ease:Back.easeOut} );
  86. TweenLite.to(service_txt, 1 , {y:35, delay:1, ease:Back.easeOut} );
  87. TweenLite.to(scrubServ, 1 , {alpha:1, delay:.4, ease:Back.easeOut} );
  88. TweenLite.to(scrubBoxServ, 1 , {alpha:1, delay:.7, ease:Back.easeOut} );
  89. }
  90. }
  91. }