let vertices = {};
const rows = 10; // 地图总行数
const cols = 10; // 地图总列数
const maptw2 = 32; // tiled宽
let rightTop = {};
rightTop.row = -1;
rightTop.col = -1;
for(let row=0;row<rows;++row){
for(let col=0;col<cols;++col){
let cullingCol = rows + col - row - 1;
let cullingRow = rows + cols - col - row - 2;
let left = maptw2 * cullingCol;
let rowData = vertices[cullingRow] = vertices[cullingRow] || {minCol:0, maxCol:0};
let colData = rowData[cullingCol] = rowData[cullingCol] || {};
// record each row range, it will faster when culling grid
if (rowData.minCol > cullingCol) {
rowData.minCol = cullingCol;
}
if (rowData.maxCol < cullingCol) {
rowData.maxCol = cullingCol;
}
// record max rect, when viewPort is bigger than layer, can make it smaller
if (rightTop.row < cullingRow) {
rightTop.row = cullingRow;
}
if (rightTop.col < cullingCol) {
rightTop.col = cullingCol;
}
colData.left = left;
colData.col = col;
colData.row = row;
}
}
这段伪代码来自CCTiledLayer.js的_updateVertices方法
请求大佬解答vertices[row][col]获取的是什么值?为什么该值可以判断是否可以优先渲染userNode?
