File tree 3 files changed +29
-36
lines changed
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# */{
755
755
else if ( option !== undefined )
756
756
cb = option ;
757
757
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 ( ) ;
759
765
if ( opt . isCrossOrigin && location . origin != "file://" )
760
766
img . crossOrigin = "Anonymous" ;
761
767
762
768
var lcb = function ( ) {
763
769
this . removeEventListener ( 'load' , lcb , false ) ;
764
770
this . removeEventListener ( 'error' , ecb , false ) ;
771
+
772
+ cc . loader . cache [ url ] = img ;
765
773
if ( cb )
766
774
cb ( null , img ) ;
767
775
} ;
@@ -802,7 +810,7 @@ cc.loader = /** @lends cc.loader# */{
802
810
type = cc . path . extname ( url ) ;
803
811
}
804
812
805
- var obj = self . cache [ url ] ;
813
+ var obj = self . getRes ( url ) ;
806
814
if ( obj )
807
815
return cb ( null , obj ) ;
808
816
var loader = null ;
Original file line number Diff line number Diff line change @@ -349,24 +349,15 @@ if (cc._renderType === cc._RENDER_TYPE_CANVAS) {
349
349
350
350
tex = locTexs [ url ] = new cc . Texture2D ( ) ;
351
351
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
+ } ) ;
370
361
371
362
return tex ;
372
363
} ;
Original file line number Diff line number Diff line change @@ -882,24 +882,18 @@ cc._tmp.WebGLTextureCache = function () {
882
882
return tex ;
883
883
}
884
884
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
-
901
885
tex = locTexs [ url ] = new cc . Texture2D ( ) ;
902
886
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
+
903
897
return tex ;
904
898
} ;
905
899
_p = null ;
You can’t perform that action at this time.
0 commit comments