|
27 | 27 | cc.SpriteBatchNode.CanvasRenderCmd.call(this, renderable);
|
28 | 28 | this._needDraw = true;
|
29 | 29 | this._realWorldTransform = {a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0};
|
30 |
| - this._childrenRenderCmds = []; |
31 | 30 |
|
32 | 31 | var locCanvas = cc._canvas;
|
33 | 32 | var tmpCanvas = cc.newElement('canvas');
|
|
46 | 45 | var proto = cc.TMXLayer.CanvasRenderCmd.prototype = Object.create(cc.SpriteBatchNode.CanvasRenderCmd.prototype);
|
47 | 46 | proto.constructor = cc.TMXLayer.CanvasRenderCmd;
|
48 | 47 |
|
49 |
| - proto._copyRendererCmds = function (rendererCmds) { |
50 |
| - if (!rendererCmds) |
51 |
| - return; |
52 |
| - |
53 |
| - var locCacheCmds = this._childrenRenderCmds; |
54 |
| - locCacheCmds.length = 0; |
55 |
| - for (var i = 0, len = rendererCmds.length; i < len; i++) { |
56 |
| - locCacheCmds[i] = rendererCmds[i]; |
57 |
| - } |
58 |
| - }; |
59 |
| - |
60 | 48 | //set the cache dirty flag for canvas
|
61 | 49 | proto._setNodeDirtyForCache = function () {
|
62 | 50 | this._cacheDirty = true;
|
63 | 51 | };
|
64 | 52 |
|
65 | 53 | proto._renderingChildToCache = function (scaleX, scaleY) {
|
66 | 54 | if (this._cacheDirty) {
|
67 |
| - var locCacheCmds = this._childrenRenderCmds, wrapper = this._cacheContext, |
| 55 | + var wrapper = this._cacheContext, |
68 | 56 | context = wrapper.getContext(), locCanvas = this._cacheCanvas;
|
69 | 57 |
|
70 | 58 | //wrapper.save();
|
71 | 59 | context.setTransform(1, 0, 0, 1, 0, 0);
|
72 | 60 | context.clearRect(0, 0, locCanvas.width, locCanvas.height);
|
73 | 61 | //reset the cache context
|
74 | 62 |
|
75 |
| - for (var i = 0, len = locCacheCmds.length; i < len; i++) { |
76 |
| - locCacheCmds[i].rendering(wrapper, scaleX, scaleY); |
77 |
| - locCacheCmds[i]._cacheDirty = false; |
| 63 | + var locChildren = this._node._children; |
| 64 | + for (var i = 0, len = locChildren.length; i < len; i++) { |
| 65 | + if (locChildren[i]){ |
| 66 | + var selCmd = locChildren[i]._renderCmd; |
| 67 | + if(selCmd){ |
| 68 | + selCmd.rendering(wrapper, scaleX, scaleY); |
| 69 | + selCmd._cacheDirty = false; |
| 70 | + } |
| 71 | + } |
78 | 72 | }
|
| 73 | + |
79 | 74 | //wrapper.restore();
|
80 | 75 | this._cacheDirty = false;
|
81 | 76 | }
|
|
161 | 156 | }
|
162 | 157 | }
|
163 | 158 |
|
164 |
| - //copy cached render cmd array to TMXLayer renderer |
165 |
| - this._copyRendererCmds(renderer._cacheToCanvasCmds[instanceID]); |
166 |
| - |
167 | 159 | //wrapper.save();
|
168 | 160 | context.setTransform(1, 0, 0, 1, 0, 0);
|
169 | 161 | context.clearRect(0, 0, locCanvas.width, locCanvas.height);
|
|
0 commit comments