本文主要是介绍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))
这篇关于cocos2dx CCNode计算node的大小的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!