From 2bc070301dcca4c865836ab55ebf847f7eff9ba0 Mon Sep 17 00:00:00 2001 From: dingpinglv Date: Wed, 1 Apr 2015 15:46:35 +0800 Subject: [PATCH 1/2] Fixed a bug of cc.LabelTTF that its enableShadow doesn't work. --- cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js | 2 +- cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js b/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js index d18507c02d..b6bddd9636 100644 --- a/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js +++ b/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js @@ -413,7 +413,7 @@ cc.LabelTTF._firsrEnglish = /^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]/; locShadowColor = node._shadowColor || this._displayedColor; var locStrokeColor = node._strokeColor, locFontFillColor = node._textFillColor; - this._shadowColorStr = "rgba(" + (0 | (locShadowColor.r * 0.5)) + "," + (0 | (locShadowColor.g * 0.5)) + "," + (0 | (locShadowColor.b * 0.5)) + "," + node._shadowOpacity + ")"; + this._shadowColorStr = "rgba(" + (0 | (locShadowColor.r)) + "," + (0 | (locShadowColor.g)) + "," + (0 | (locShadowColor.b)) + "," + node._shadowOpacity + ")"; this._fillColorStr = "rgba(" + (0 | (locDisplayColor.r / 255 * locFontFillColor.r)) + "," + (0 | (locDisplayColor.g / 255 * locFontFillColor.g)) + "," + (0 | (locDisplayColor.b / 255 * locFontFillColor.b)) + ", 1)"; //use globalOpacity + locDisplayedOpacity / 255 + ")"; this._strokeColorStr = "rgba(" + (0 | (locDisplayColor.r / 255 * locStrokeColor.r)) + "," + (0 | (locDisplayColor.g / 255 * locStrokeColor.g)) + "," diff --git a/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js b/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js index 12a70b54f5..dfa2893e61 100644 --- a/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js +++ b/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js @@ -37,8 +37,9 @@ proto._setColorsString = function () { this.setDirtyFlag(cc.Node._dirtyFlags.textDirty); var node = this._node; - var locStrokeColor = node._strokeColor, locFontFillColor = node._textFillColor; - this._shadowColorStr = "rgba(128,128,128," + node._shadowOpacity + ")"; + var locStrokeColor = node._strokeColor, locFontFillColor = node._textFillColor, + locShadowColor = node._shadowColor || this._displayedColor; + this._shadowColorStr = "rgba(" + (0 | locShadowColor.r) + "," + (0 | locShadowColor.g) + "," + (0 | locShadowColor.b) + "," + node._shadowOpacity + ")"; this._fillColorStr = "rgba(" + (0 | locFontFillColor.r) + "," + (0 | locFontFillColor.g) + "," + (0 | locFontFillColor.b) + ", 1)"; this._strokeColorStr = "rgba(" + (0 | locStrokeColor.r) + "," + (0 | locStrokeColor.g) + "," + (0 | locStrokeColor.b) + ", 1)"; }; From c8af0a9e5b704e3532d5e5a55413cedd05452e88 Mon Sep 17 00:00:00 2001 From: dingpinglv Date: Wed, 1 Apr 2015 17:00:36 +0800 Subject: [PATCH 2/2] Fixed a bug of cc.LabelTTF that its setColor doesn't set shadowColor on CanvasMode --- cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js b/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js index b6bddd9636..fa687f865a 100644 --- a/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js +++ b/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js @@ -412,12 +412,14 @@ cc.LabelTTF._firsrEnglish = /^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]/; var locDisplayColor = this._displayedColor, node = this._node, locShadowColor = node._shadowColor || this._displayedColor; var locStrokeColor = node._strokeColor, locFontFillColor = node._textFillColor; - - this._shadowColorStr = "rgba(" + (0 | (locShadowColor.r)) + "," + (0 | (locShadowColor.g)) + "," + (0 | (locShadowColor.b)) + "," + node._shadowOpacity + ")"; - this._fillColorStr = "rgba(" + (0 | (locDisplayColor.r / 255 * locFontFillColor.r)) + "," + (0 | (locDisplayColor.g / 255 * locFontFillColor.g)) + "," - + (0 | (locDisplayColor.b / 255 * locFontFillColor.b)) + ", 1)"; //use globalOpacity + locDisplayedOpacity / 255 + ")"; - this._strokeColorStr = "rgba(" + (0 | (locDisplayColor.r / 255 * locStrokeColor.r)) + "," + (0 | (locDisplayColor.g / 255 * locStrokeColor.g)) + "," - + (0 | (locDisplayColor.b / 255 * locStrokeColor.b)) + ", 1)"; //use globalOpacity + locDisplayedOpacity / 255 + ")"; + var dr = locDisplayColor.r / 255, dg = locDisplayColor.g / 255, db = locDisplayColor.b / 255; + + this._shadowColorStr = "rgba(" + (0 | (dr * locShadowColor.r)) + "," + (0 | ( dg * locShadowColor.g)) + "," + + (0 | (db * locShadowColor.b)) + "," + node._shadowOpacity + ")"; + this._fillColorStr = "rgba(" + (0 | (dr * locFontFillColor.r)) + "," + (0 | (dg * locFontFillColor.g)) + "," + + (0 | (db * locFontFillColor.b)) + ", 1)"; + this._strokeColorStr = "rgba(" + (0 | (dr * locStrokeColor.r)) + "," + (0 | (dg * locStrokeColor.g)) + "," + + (0 | (db * locStrokeColor.b)) + ", 1)"; }; proto._updateColor = function(){