File tree Expand file tree Collapse file tree 3 files changed +29
-36
lines changed Expand file tree Collapse file tree 3 files changed +29
-36
lines changed Original file line number Diff line number Diff line change @@ -755,13 +755,21 @@ cc.loader = /** @lends cc.loader# */{
755755 else if ( option !== undefined )
756756 cb = option ;
757757
758- var img = new Image ( ) ;
758+ var img = this . getRes ( url ) ;
759+ if ( img ) {
760+ cb && cb ( null , img ) ;
761+ return img ;
762+ }
763+
764+ img = new Image ( ) ;
759765 if ( opt . isCrossOrigin && location . origin != "file://" )
760766 img . crossOrigin = "Anonymous" ;
761767
762768 var lcb = function ( ) {
763769 this . removeEventListener ( 'load' , lcb , false ) ;
764770 this . removeEventListener ( 'error' , ecb , false ) ;
771+
772+ cc . loader . cache [ url ] = img ;
765773 if ( cb )
766774 cb ( null , img ) ;
767775 } ;
@@ -802,7 +810,7 @@ cc.loader = /** @lends cc.loader# */{
802810 type = cc . path . extname ( url ) ;
803811 }
804812
805- var obj = self . cache [ url ] ;
813+ var obj = self . getRes ( url ) ;
806814 if ( obj )
807815 return cb ( null , obj ) ;
808816 var loader = null ;
Original file line number Diff line number Diff line change @@ -349,24 +349,15 @@ if (cc._renderType === cc._RENDER_TYPE_CANVAS) {
349349
350350 tex = locTexs [ url ] = new cc . Texture2D ( ) ;
351351 tex . url = url ;
352- if ( ! cc . loader . getRes ( url ) ) {
353- if ( cc . loader . _checkIsImageURL ( url ) ) {
354- cc . loader . load ( url , function ( err ) {
355- cb && cb . call ( target ) ;
356- } ) ;
357- } else {
358- cc . loader . loadImg ( url , function ( err , img ) {
359- if ( err )
360- return cb ? cb ( err ) : err ;
361- cc . loader . cache [ url ] = img ;
362- cc . textureCache . handleLoadedTexture ( url ) ;
363- cb && cb . call ( target , tex ) ;
364- } ) ;
365- }
366- }
367- else {
368- tex . handleLoadedTexture ( ) ;
369- }
352+ var loadFunc = cc . loader . _checkIsImageURL ( url ) ? cc . loader . load : cc . loader . loadImg ;
353+ loadFunc . call ( cc . loader , url , function ( err , img ) {
354+ if ( err )
355+ return cb && cb . call ( target , err ) ;
356+ cc . textureCache . handleLoadedTexture ( url ) ;
357+
358+ var texResult = locTexs [ url ] ;
359+ cb && cb . call ( target , texResult ) ;
360+ } ) ;
370361
371362 return tex ;
372363 } ;
Original file line number Diff line number Diff line change @@ -882,24 +882,18 @@ cc._tmp.WebGLTextureCache = function () {
882882 return tex ;
883883 }
884884
885- if ( ! cc . loader . getRes ( url ) ) {
886- if ( cc . loader . _checkIsImageURL ( url ) ) {
887- cc . loader . load ( url , function ( err ) {
888- cb && cb . call ( target ) ;
889- } ) ;
890- } else {
891- cc . loader . loadImg ( url , function ( err , img ) {
892- if ( err )
893- return cb ? cb ( err ) : err ;
894- cc . loader . cache [ url ] = img ;
895- cc . textureCache . handleLoadedTexture ( url ) ;
896- cb && cb . call ( target , tex ) ;
897- } ) ;
898- }
899- }
900-
901885 tex = locTexs [ url ] = new cc . Texture2D ( ) ;
902886 tex . url = url ;
887+ var loadFunc = cc . loader . _checkIsImageURL ( url ) ? cc . loader . load : cc . loader . loadImg ;
888+ loadFunc . call ( cc . loader , url , function ( err , img ) {
889+ if ( err )
890+ return cb && cb . call ( target , err ) ;
891+ cc . textureCache . handleLoadedTexture ( url ) ;
892+
893+ var texResult = locTexs [ url ] ;
894+ cb && cb . call ( target , texResult ) ;
895+ } ) ;
896+
903897 return tex ;
904898 } ;
905899 _p = null ;
You can’t perform that action at this time.
0 commit comments