上面有一个Node,里面加入了很多节点,有CCSprite等等,怎么计算整个Node的大小。
思路:Node的宽度:maxX - minX;高度:maxY - minY.
maxX = 所有子节点的X的最大值;(这个值不是位置,而是包含了大小的边界)
minX =所有子节点的X的最小值;
maxY = 所有子节点的Y的最大值;
minY =所有子节点的Y的最小值;
local children = tolua.cast(awardNode,"CCNode"):getChildren()local firstChild = tolua.cast(children:objectAtIndex(0),"CCNode")
local minX = 第一个节点的左边界
local maxX = 第一个节点的右边界
local minY = 第一个节点的下(Y)边界
local maxY = 第一个节点的上(Y)边界
for i=1,(children:count()-1) do
local child = tolua.cast(children:objectAtIndex(i),"CCNode")
local min_X = 节点的左边界
local max_X = 节点的右边界
local min_Y =节点的下(Y)边界
local max_Y = 节点的上(Y)边界
if min_X < minX then minX = min_X end
if max_X > maxX then maxX = max_X end
if min_Y < minY then minY = min_Y end
if max_Y > maxY then maxY = max_Y end
end
local width,height = maxX - minX,maxY - minY awardNode:setContentSize(CCSize(width,height))