cocos2dx CCNode计算node的大小

前端之家收集整理的这篇文章主要介绍了cocos2dx CCNode计算node的大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


上面有一个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)) 原文链接:https://www.f2er.com/cocos2dx/344017.html

猜你在找的Cocos2d-x相关文章