diff --git a/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js b/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js index 768998f8d2..fbb6f92330 100644 --- a/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js +++ b/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js @@ -194,6 +194,10 @@ cc.Node.RenderCmd.prototype = { } } + if (node._additionalTransformDirty) { + this._transform = t = cc.affineTransformConcat(t, node._additionalTransform); // seems like 'this._transform' can be removed + } + if (pt) { // cc.AffineTransformConcat is incorrect at get world transform wt.a = t.a * pt.a + t.b * pt.c; //a @@ -229,6 +233,10 @@ cc.Node.RenderCmd.prototype = { } } + if (node._additionalTransformDirty) { + this._transform = t = cc.affineTransformConcat(t, node._additionalTransform); + } + if (pt) { wt.a = t.a * pt.a + t.b * pt.c; wt.b = t.a * pt.b + t.b * pt.d; @@ -246,10 +254,6 @@ cc.Node.RenderCmd.prototype = { } } - if (node._additionalTransformDirty) { - this._transform = cc.affineTransformConcat(t, node._additionalTransform); - } - this._updateCurrentRegions && this._updateCurrentRegions(); this._notifyRegionStatus && this._notifyRegionStatus(cc.Node.CanvasRenderCmd.RegionStatus.DirtyDouble);