Skip to content

Commit 18d0efe

Browse files
committed
Remove _childrenRenderCmds
1 parent d009c11 commit 18d0efe

File tree

1 file changed

+13
-58
lines changed

1 file changed

+13
-58
lines changed

cocos2d/tilemap/CCTMXLayerCanvasRenderCmd.js

+13-58
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
cc.SpriteBatchNode.CanvasRenderCmd.call(this, renderable);
2828
this._needDraw = true;
2929
this._realWorldTransform = {a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0};
30-
this._childrenRenderCmds = [];
3130

3231
var locCanvas = cc._canvas;
3332
var tmpCanvas = cc.newElement('canvas');
@@ -46,36 +45,33 @@
4645
var proto = cc.TMXLayer.CanvasRenderCmd.prototype = Object.create(cc.SpriteBatchNode.CanvasRenderCmd.prototype);
4746
proto.constructor = cc.TMXLayer.CanvasRenderCmd;
4847

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-
6048
//set the cache dirty flag for canvas
6149
proto._setNodeDirtyForCache = function () {
6250
this._cacheDirty = true;
6351
};
6452

6553
proto._renderingChildToCache = function (scaleX, scaleY) {
6654
if (this._cacheDirty) {
67-
var locCacheCmds = this._childrenRenderCmds, wrapper = this._cacheContext,
55+
var wrapper = this._cacheContext,
6856
context = wrapper.getContext(), locCanvas = this._cacheCanvas;
6957

7058
//wrapper.save();
7159
context.setTransform(1, 0, 0, 1, 0, 0);
7260
context.clearRect(0, 0, locCanvas.width, locCanvas.height);
7361
//reset the cache context
7462

75-
for (var i = 0, len = locCacheCmds.length; i < len; i++) {
76-
locCacheCmds[i].rendering(wrapper, scaleX, scaleY);
77-
locCacheCmds[i]._cacheDirty = false;
63+
this._node.sortAllChildren();
64+
var locChildren = this._node._children;
65+
for (var i = 0, len = locChildren.length; i < len; i++) {
66+
if (locChildren[i]){
67+
var selCmd = locChildren[i]._renderCmd;
68+
if(selCmd){
69+
selCmd.rendering(wrapper, scaleX, scaleY);
70+
selCmd._cacheDirty = false;
71+
}
72+
}
7873
}
74+
7975
//wrapper.restore();
8076
this._cacheDirty = false;
8177
}
@@ -87,46 +83,8 @@
8783
return;
8884

8985
var node = this._node;
90-
//TODO: it will implement dynamic compute child cutting automation.
91-
var i, len, locChildren = node._children;
92-
// quick return if not visible
93-
if (!node._visible || !locChildren || locChildren.length === 0)
94-
return;
95-
96-
var wrapper, context;
97-
98-
if (this._cacheDirty) {
99-
var locCanvas = this._cacheCanvas, instanceID = node.__instanceId, renderer = cc.renderer;
100-
wrapper = this._cacheContext, context = wrapper.getContext(),
101-
//begin cache
102-
renderer._turnToCacheMode(instanceID);
103-
104-
node.sortAllChildren();
105-
for (i = 0, len = locChildren.length; i < len; i++) {
106-
if (locChildren[i]){
107-
var selCmd = locChildren[i]._renderCmd;
108-
if(selCmd){
109-
selCmd.visit(this);
110-
selCmd._cacheDirty = false;
111-
}
112-
}
113-
}
114-
115-
//copy cached render cmd array to TMXLayer renderer
116-
this._copyRendererCmds(renderer._cacheToCanvasCmds[instanceID]);
117-
118-
//wrapper.save();
119-
context.setTransform(1, 0, 0, 1, 0, 0);
120-
context.clearRect(0, 0, locCanvas.width, locCanvas.height);
121-
//set the wrapper's offset
122-
123-
//draw to cache canvas
124-
renderer._renderingToCacheCanvas(wrapper, instanceID);
125-
}
126-
12786
this._renderingChildToCache(scaleX, scaleY);
128-
wrapper = ctx || cc._renderContext;
129-
context = wrapper.getContext();
87+
var wrapper = ctx || cc._renderContext, context = wrapper.getContext();
13088
wrapper.setGlobalAlpha(alpha);
13189

13290
var posX = 0 | ( -this._anchorPointInPoints.x), posY = 0 | ( -this._anchorPointInPoints.y);
@@ -199,9 +157,6 @@
199157
}
200158
}
201159

202-
//copy cached render cmd array to TMXLayer renderer
203-
this._copyRendererCmds(renderer._cacheToCanvasCmds[instanceID]);
204-
205160
//wrapper.save();
206161
context.setTransform(1, 0, 0, 1, 0, 0);
207162
context.clearRect(0, 0, locCanvas.width, locCanvas.height);

0 commit comments

Comments
 (0)