Skip to content

Commit d0f966a

Browse files
committed
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-html5 into Iss2416_RefactorRenderer
2 parents f9405ff + cbc8b8a commit d0f966a

File tree

3 files changed

+29
-36
lines changed

3 files changed

+29
-36
lines changed

CCBoot.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff 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;

cocos2d/core/textures/CCTextureCache.js

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff 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
};

cocos2d/core/textures/TexturesWebGL.js

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -881,24 +881,18 @@ cc._tmp.WebGLTextureCache = function () {
881881
return tex;
882882
}
883883

884-
if (!cc.loader.getRes(url)) {
885-
if (cc.loader._checkIsImageURL(url)) {
886-
cc.loader.load(url, function (err) {
887-
cb && cb.call(target);
888-
});
889-
} else {
890-
cc.loader.loadImg(url, function (err, img) {
891-
if (err)
892-
return cb ? cb(err) : err;
893-
cc.loader.cache[url] = img;
894-
cc.textureCache.handleLoadedTexture(url);
895-
cb && cb.call(target, tex);
896-
});
897-
}
898-
}
899-
900884
tex = locTexs[url] = new cc.Texture2D();
901885
tex.url = url;
886+
var loadFunc = cc.loader._checkIsImageURL(url) ? cc.loader.load : cc.loader.loadImg;
887+
loadFunc.call(cc.loader, url, function (err, img) {
888+
if (err)
889+
return cb && cb.call(target, err);
890+
cc.textureCache.handleLoadedTexture(url);
891+
892+
var texResult = locTexs[url];
893+
cb && cb.call(target, texResult);
894+
});
895+
902896
return tex;
903897
};
904898
_p = null;

0 commit comments

Comments
 (0)