cocos2d-x 绘制矩形图像漂移bug

请教大虾:
我在cocos2d-x 中使用ccDrawPoly() 绘制了几个中心坐标相同的矩形。
可是运行后得到的矩形中心坐标却不同,发生了偏移,这是为啥?
运行效果如下:

图片:cocos2d-x ccdrawpoly bug2.png

把代码贴出来看看呗

m_scp是位置坐标,m_scwh是高宽数据。
这几个方块位置坐标相同,高宽不同。
代码如下:

void MShape::setBodyShape(void)
{
// set vertices
switch (m_shape)
{
case SKBox2DWorld::mrectangle:
vnum=4;
vertices=ccp(m_scp.x-m_scwh.width,m_scp.y-m_scwh.height);
vertices=ccp(m_scp.x-m_scwh.width,m_scp.y+m_scwh.height);
vertices=ccp(m_scp.x+m_scwh.width,m_scp.y+m_scwh.height);
vertices=ccp(m_scp.x+m_scwh.width,m_scp.y-m_scwh.height);
break;
default:
break;
}
}
void MShape::draw(void)
{
//CHECK_GL_ERROR_DEBUG();
//glLineWidth(10);
ccDrawPoly(vertices,vnum,true);
ccDrawPoint(m_scp);
//ccDrawPoint(vertices);

}

我截了个运行时的位置和长宽数据log,可以看到位置数据是一致的:

是不是不同MShape在不同的CCLayer上,然后不同的CCLayer初始坐标或者anchorpoint不同?

有可能
那怎么初始化CCLayer的坐标或者anchorpoint?
bow~~

我看了下cocos2d 的几个类关系,因为这两个shape是在一个scene中的,和layer没关系?

设置位置:setPosition
设置锚点:setAnchorPoint

你的shape的parent不一定是CCLayer,有可能是CCScene或者其他的CCNode,检查下这些shape的parent的坐标及锚点设置是不是一样的