cocos2dx CCNode计算node的大小

来源:互联网 发布:linux expect命令 编辑:程序博客网 时间:2024/05/23 15:45


上面有一个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))


0 0
原创粉丝点击