boundingBox getContentSize

来源:互联网 发布:游戏编程如何入门 编辑:程序博客网 时间:2024/05/16 02:32

boundingBox() ——如果你在一个Sprite(比如A)中加入一个子Sprite(比如B),则B通过boundingBox()获取到的边框,相对于父Layer来说,位置是不准的,这会导致明明按中了B,却得不到该有的响应。(少用boundingbox 可用contentSize代替引擎而已不需要全深入 好用就行)
getContentSize返回的是原sprite的大小
CCRectMake 由上面得到的size 制作rect包围盒
boundingBox 返回的是sprite大小(包括旋转,缩放,变换)——考虑了精灵的变形
p = m_Sprite->convertToNodeSpaceAR(p);
CCSize size = m_Sprite->getContentSize();
CCRect rect = CCRectMake(-size.width*0.5f, -size.height*0.5f, size.width, size.height);

 


  CCPoint world_pos = m_object[i]->m_sprite->convertToNodeSpaceAR(pos);
  CCSize size = m_object[i]->m_sprite->getContentSize();
  CCRect rect = CCRectMake(-size.width*0.5f, -size.height*0.5f, size.width, size.height);
  if (rect.containsPoint(world_pos))
  {

原创粉丝点击