| var ImagePreloader = (function(){ |
| |
| function imageLoaded(){ |
| this.loadedAssets += 1; |
| if(this.loadedAssets === this.totalImages){ |
| } |
| } |
| |
| function getAssetsPath(assetData){ |
| var path = ''; |
| if(this.assetsPath){ |
| var imagePath = assetData.p; |
| if(imagePath.indexOf('images/') !== -1){ |
| imagePath = imagePath.split('/')[1]; |
| } |
| path = this.assetsPath + imagePath; |
| } else { |
| path = this.path; |
| path += assetData.u ? assetData.u : ''; |
| path += assetData.p; |
| } |
| return path; |
| } |
| |
| function loadImage(path){ |
| var img = document.createElement('img'); |
| img.addEventListener('load', imageLoaded.bind(this), false); |
| img.addEventListener('error', imageLoaded.bind(this), false); |
| img.src = path; |
| } |
| function loadAssets(assets){ |
| this.totalAssets = assets.length; |
| var i; |
| for(i=0;i<this.totalAssets;i+=1){ |
| if(!assets[i].layers){ |
| loadImage.bind(this)(getAssetsPath.bind(this)(assets[i])); |
| this.totalImages += 1; |
| } |
| } |
| } |
| |
| function setPath(path){ |
| this.path = path || ''; |
| } |
| |
| function setAssetsPath(path){ |
| this.assetsPath = path || ''; |
| } |
| |
| return function ImagePreloader(){ |
| this.loadAssets = loadAssets; |
| this.setAssetsPath = setAssetsPath; |
| this.setPath = setPath; |
| this.assetsPath = ''; |
| this.path = ''; |
| this.totalAssets = 0; |
| this.totalImages = 0; |
| this.loadedAssets = 0; |
| } |
| }()); |