Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.05 KB | None | 0 0
  1. import flash.events.Event;
  2. import flash.display.StageAlign;
  3. import flash.display.StageScaleMode;
  4. import flash.net.URLLoader;
  5. import flash.net.URLRequest;
  6. import flash.display.Loader;
  7. import fl.controls.ProgressBar;
  8. import fl.transitions.Tween;
  9. import fl.transitions.easing.*;
  10. import fl.transitions.TweenEvent;
  11.  
  12. var myXMLLoader:URLLoader = new URLLoader();
  13. myXMLLoader.load(new URLRequest("images.xml"));
  14. myXMLLoader.addEventListener(Event.COMPLETE, processXML);
  15.  
  16. var columns:Number;
  17. var my_x:Number;
  18. var my_y:Number;
  19. var my_thumb_width:Number;
  20. var my_thumb_height:Number;
  21. var my_images:XMLList;
  22. var my_total:Number;
  23.  
  24. var container_mc:MovieClip;
  25. var preloaders_mc:MovieClip;
  26. var full_mc:MovieClip;
  27.  
  28. var x_counter:Number = 0;
  29. var y_counter:Number = 0;
  30.  
  31. var currentX:Number = 0;
  32.  
  33. var miniWidth:Number;
  34. var miniHeight:Number;
  35.  
  36. var my_tweens:Array = [];
  37. var container_mc_tween:Tween;
  38. var full_tween:Tween;
  39.  
  40. miniaturki.addEventListener(MouseEvent.MOUSE_OVER, onOver);
  41. miniaturki.addEventListener(MouseEvent.MOUSE_OUT, onOut);
  42. miniaturki.addEventListener(MouseEvent.CLICK, callFull);
  43.  
  44. if (stage)
  45. {
  46. initialize();
  47. }
  48. else
  49. {
  50. addEventListener(Event.ADDED_TO_STAGE,initialize);
  51. }
  52.  
  53. function initialize(e:Event = null):void
  54. {
  55. removeEventListener(Event.ADDED_TO_STAGE,initialize);
  56. stage.scaleMode = StageScaleMode.NO_SCALE;
  57. stage.align = StageAlign.TOP_LEFT;
  58. stage.addEventListener(Event.RESIZE,onResizeDoc);
  59. stage.dispatchEvent(new Event(Event.RESIZE));
  60. stage.addEventListener(Event.REMOVED_FROM_STAGE, onRemove);
  61. resizeMyDoc();
  62. }
  63.  
  64. function onResizeDoc(event:Event = null):void
  65. {
  66. resizeMyDoc();
  67. }
  68.  
  69. function resizeMyDoc():void
  70. {
  71. var sw:Number = stage.stageWidth;
  72. var sh:Number = stage.stageHeight;
  73. var sBw = sw - 320;
  74.  
  75. if (stage.displayState == StageDisplayState.FULL_SCREEN)
  76. {
  77. miniaturki.x = miniaturki.x;
  78. miniaturki.y = 0;
  79. miniaturki.height = sh;
  80. miniaturki.scaleX = miniaturki.scaleY;
  81. }
  82. else
  83. {
  84. miniaturki.x = stage.x + miniaturki.x;
  85. miniaturki.y = 235;
  86. miniaturki.height = sh - 310;
  87. miniaturki.scaleX = miniaturki.scaleY;
  88. }
  89. }
  90.  
  91. function processXML(e:Event):void
  92. {
  93. var myXML:XML = new XML(e.target.data);
  94.  
  95. columns = myXML. @ COLUMNS;
  96. my_x = myXML. @ XPOSITION;
  97. my_y = myXML. @ YPOSITION;
  98. my_thumb_width = myXML. @ WIDTH;
  99. my_thumb_height = myXML. @ HEIGHT;
  100. my_images = myXML.IMAGE;
  101. my_total = my_images.length();
  102.  
  103. preloaders_mc = new MovieClip();
  104. preloaders_mc.x = miniaturki.x;
  105. preloaders_mc.y = miniaturki.y;
  106. addChild(preloaders_mc);
  107.  
  108. miniaturki.buttonMode = true;
  109.  
  110. //createContainer();
  111. callThumbs();
  112.  
  113. myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
  114. myXMLLoader = null;
  115. }
  116.  
  117. //function createContainer():void
  118. //{
  119. //container_mc = new MovieClip();
  120. //container_mc.x = my_x;
  121. //container_mc.y = my_y;
  122. //addChild(container_mc);
  123. //}
  124.  
  125. function callThumbs():void
  126. {
  127. for (var i:Number = 0; i < my_total; i++)
  128. {
  129. var thumb_url = my_images[i].@THUMB;;
  130. var thumb_loader = new Loader();
  131. thumb_loader.load(new URLRequest(thumb_url));
  132. thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
  133.  
  134. thumb_loader.name = i;
  135.  
  136. //thumb_loader.x = (my_thumb_width+1000)*x_counter;
  137.  
  138. //thumb_loader[i].x = currentX;
  139. //currentX += thumb_loader[i].width;
  140.  
  141. //if (x_counter + 1 < columns)
  142. //{
  143. // x_counter++;
  144. //}
  145. //else
  146. //{
  147. //x_counter = 0;
  148. //}
  149.  
  150. var preloader_pb:ProgressBar = new ProgressBar(); //adding prgressBar to thumbs
  151. preloader_pb.source = thumb_loader.contentLoaderInfo;
  152. preloader_pb.x = thumb_loader.x;
  153. preloader_pb.y = thumb_loader.y;
  154. preloader_pb.width = my_thumb_width;
  155. preloader_pb.height = my_thumb_height;
  156. preloaders_mc.addChild(preloader_pb);
  157.  
  158. preloader_pb.addEventListener(Event.COMPLETE, donePb);
  159. }
  160. }
  161.  
  162. function donePb (e:Event):void
  163. {
  164. var my_pb:ProgressBar = ProgressBar(e.target);
  165. preloaders_mc.removeChild(my_pb);
  166.  
  167. my_pb.removeEventListener(Event.COMPLETE, donePb);
  168. }
  169.  
  170. function thumbLoaded(e:Event):void
  171. {
  172. var my_thumb:Loader = Loader(e.target.loader);
  173. miniaturki.addChild(my_thumb);
  174.  
  175. my_tweens[Number(my_thumb.name)]=new Tween(my_thumb, "alpha", Strong.easeIn, 0,1,0.5, true);
  176.  
  177. miniWidth = my_thumb.width;
  178. miniHeight = my_thumb.height;
  179.  
  180. //var currentX:Number = 0;
  181. //e.target.loader.x =(my_thumb.width+1300)*1;
  182. //currentX += miniWidth + 25;
  183.  
  184. trace(miniWidth);
  185. trace(miniHeight);
  186.  
  187. my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
  188. }
  189.  
  190. function callFull(e:MouseEvent):void
  191. {
  192. var full_loader:Loader = new Loader();
  193. var full_url = my_images[e.target.name].@FULL;
  194. full_loader.load(new URLRequest(full_url));
  195. full_loader.contentLoaderInfo.addEventListener(Event.INIT, fullLoaded);
  196.  
  197. var full_pb:ProgressBar = new ProgressBar(); //adding prgressBar to the full img
  198. full_pb.source = full_loader.contentLoaderInfo;
  199. full_pb.x = (stage.stageWidth - full_pb.width)/2;
  200. full_pb.y = (stage.stageHeight - full_pb.height)/2;
  201. preloaders_mc.addChild(full_pb);
  202.  
  203. full_pb.addEventListener(Event.COMPLETE, donePb);
  204.  
  205. miniaturki.removeEventListener(MouseEvent.CLICK, callFull);
  206. miniaturki.removeEventListener(MouseEvent.MOUSE_OVER, onOver);
  207. miniaturki.removeEventListener(MouseEvent.MOUSE_OUT, onOut);
  208. miniaturki.buttonMode = false;
  209.  
  210. container_mc_tween = new Tween(miniaturki, "alpha", Strong.easeIn, 1,0.5,0.5, true);
  211.  
  212. }
  213.  
  214. function fullLoaded(e:Event):void
  215. {
  216. var my_loader:Loader = Loader(e.target.loader);
  217.  
  218. full_mc = new MovieClip();
  219. full_mc.buttonMode = true;
  220.  
  221. full_mc.addChild(my_loader);
  222.  
  223. addChild (full_mc);
  224.  
  225. full_tween = new Tween(my_loader, "alpha", Strong.easeIn, 0,1,0.5, true);
  226.  
  227. my_loader.x = (stage.stageWidth - my_loader.width)/2;
  228. my_loader.y = (stage.stageHeight - my_loader.height)/2;
  229. my_loader.addEventListener(MouseEvent.CLICK,removeFull);
  230.  
  231. my_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, fullLoaded);
  232. }
  233.  
  234. function removeFull(e:MouseEvent):void
  235. {
  236. var my_loader:Loader = Loader (e.currentTarget);
  237.  
  238. full_tween = new Tween(my_loader, "alpha", Strong.easeOut, 1,0,0.5, true);
  239. full_tween.addEventListener(TweenEvent.MOTION_FINISH, tweenFinished);
  240.  
  241. container_mc_tween = new Tween(miniaturki, "alpha", Strong.easeOut, 0.5,1,0.5, true);
  242. }
  243.  
  244. function tweenFinished (e:TweenEvent):void
  245. {
  246. var my_loader:Loader = Loader (e.target.obj);
  247. my_loader.unload();
  248. full_mc.removeChild(my_loader);
  249. removeChild(full_mc);
  250. full_mc = null;
  251. miniaturki.buttonMode = true;
  252. miniaturki.addEventListener(MouseEvent.MOUSE_OVER, onOver);
  253. miniaturki.addEventListener(MouseEvent.MOUSE_OUT, onOut);
  254. miniaturki.addEventListener(MouseEvent.CLICK, callFull);
  255.  
  256. var my_tween:Tween = Tween(e.target);
  257. my_tween.removeEventListener(TweenEvent.MOTION_FINISH, tweenFinished);
  258. }
  259.  
  260. function onOver (e:MouseEvent):void
  261. {
  262. var my_thumb:Loader = Loader(e.target);
  263. my_thumb.alpha = 0.5;
  264. }
  265.  
  266. function onOut (e:MouseEvent):void
  267. {
  268. var my_thumb:Loader = Loader (e.target);
  269. my_thumb.alpha = 1;
  270. }
  271.  
  272. function onRemove(e:Event=null):void
  273. {
  274. stage.removeEventListener(Event.RESIZE, onResizeDoc);
  275. }
  276.  
  277. function callThumbs():void
  278. {
  279. for (var i:Number = 0; i < my_total; i++)
  280. {
  281. var thumb_url = my_images[i].@THUMB;;
  282. var thumb_loader = new Loader();
  283. thumb_loader.load(new URLRequest(thumb_url));
  284. thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
  285.  
  286. thumb_loader.name = i;
  287.  
  288. //thumb_loader.x = (my_thumb_width+1000)*x_counter; - option from tutorial (grid gallery)
  289.  
  290. //thumb_loader[i].x = currentX;
  291. //currentX += thumb_loader[i].width; - option for line gallery
  292.  
  293. var preloader_pb:ProgressBar = new ProgressBar(); //adding prgressBar to thumbs
  294. preloader_pb.source = thumb_loader.contentLoaderInfo;
  295. preloader_pb.x = thumb_loader.x;
  296. preloader_pb.y = thumb_loader.y;
  297. preloader_pb.width = my_thumb_width; // taking width for grid from xml file
  298. preloader_pb.height = my_thumb_height; // taking height for grid from xml file
  299. preloaders_mc.addChild(preloader_pb);
  300.  
  301. preloader_pb.addEventListener(Event.COMPLETE, donePb);
  302. }
  303. }
  304.  
  305. function donePb (e:Event):void
  306. {
  307. var my_pb:ProgressBar = ProgressBar(e.target);
  308. preloaders_mc.removeChild(my_pb);
  309.  
  310. my_pb.removeEventListener(Event.COMPLETE, donePb);
  311. }
  312.  
  313. function thumbLoaded(e:Event):void
  314. {
  315. var my_thumb:Loader = Loader(e.target.loader);
  316. miniaturki.addChild(my_thumb);
  317.  
  318. my_tweens[Number(my_thumb.name)]=new Tween(my_thumb, "alpha", Strong.easeIn, 0,1,0.5, true);
  319.  
  320. miniWidth = my_thumb.width; // traced width is the one that I need
  321. miniHeight = my_thumb.height;
  322.  
  323. //var currentX:Number = 0;
  324. //e.target.loader.x =(my_thumb.width+1300)*1;
  325. //currentX += miniWidth + 25;
  326.  
  327. trace(miniWidth);
  328. trace(miniHeight);
  329.  
  330. my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
  331. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement