【发布时间】:2014-04-10 11:27:32
【问题描述】:
我是 cocos2d-x 的新手,我想获取精灵大小。但这里有两个函数可以完成这项工作:getContentSize 和 getBoundingBox. What is the difference of this functions? Should I always usegetBoundingBox`?
【问题讨论】:
我是 cocos2d-x 的新手,我想获取精灵大小。但这里有两个函数可以完成这项工作:getContentSize 和 getBoundingBox. What is the difference of this functions? Should I always usegetBoundingBox`?
【问题讨论】:
contentSize 指的是内容的大小(即纹理大小),而boundingBox 还考虑到节点可能被旋转、缩放、倾斜。
边界框是轴对齐的,这意味着即使在旋转、缩放、倾斜等情况下,它也会形成穿过节点所有 4 个角的矩形,因此如果这些属性中的任何一个,它可能会大于 contentSize已修改。
但是,对于旋转、缩放、倾斜等节点的碰撞检测,边界框仅提供“早期输出”测试,其中不与边界框矩形相交意味着无论如何都不会在更准确的级别上发生任何碰撞。如果轴对齐边界框相交测试通过,您通常会继续执行,例如,定向边界框矩形相交测试,或者您进行碰撞蒙版或多边形相交测试的地方。
【讨论】: