LoaderManager.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /**
  2. * Created by lennylin on 2014/7/21.
  3. */
  4. function LoaderManager ()
  5. {
  6. this.listLib = [];
  7. createjs.EventDispatcher.initialize(this.__proto__);
  8. }
  9. LoaderManager.prototype.addLib = function(value)
  10. {
  11. this.listLib.push(value);
  12. }
  13. LoaderManager.prototype.start = function()
  14. {
  15. if (this.listLib.length >0) {
  16. var obj = this.listLib.shift();
  17. this.loadjs(obj);
  18. }else
  19. {
  20. this.dispatchEvent(new createjs.Event("complete",this))
  21. }
  22. }
  23. LoaderManager.prototype.loadjs =function(value)
  24. {
  25. var _doc = document.getElementsByTagName("head")[0];
  26. var js = document.createElement("script");
  27. js.setAttribute("type","text/javascript");
  28. js.setAttribute("src",value.src);
  29. _doc.appendChild(js)
  30. var loader = new createjs.LoadQueue(false);
  31. var _this = this;
  32. var p = 0;
  33. var len = 0;
  34. function handleFileLoad(event)
  35. {
  36. var obj = eval(value.lib);
  37. p++;
  38. // _this.dispatchEvent(new createjs.Event("progress",this))
  39. if (event.item.type == "image") { obj[event.item.id] = event.result; }
  40. }
  41. function handleComplete(event)
  42. {
  43. _this.start();
  44. }
  45. function progressEvent(event)
  46. {
  47. _this.progress = event.progress;
  48. _this.dispatchEvent(new createjs.Event("progress",this))
  49. }
  50. loader.addEventListener("fileload", handleFileLoad);
  51. loader.addEventListener("progress",progressEvent)
  52. loader.addEventListener("complete", handleComplete);
  53. loader.installPlugin(createjs.Sound);
  54. if(document.all)
  55. {
  56. js.onreadystatechange = function()
  57. {
  58. if(js.readyState == "loaded" || js.readyState == "complete")
  59. {
  60. alert(value.name)
  61. }
  62. }
  63. }else
  64. {
  65. js.onload = function()
  66. {
  67. len = eval(value.name).properties.manifest.length;
  68. loader.loadManifest(eval(value.name).properties.manifest);
  69. }
  70. }
  71. }
  72. /* |xGv00|a172f124a2991b1bf22970241af4f0dd */