关于frameWithTexture 的问题

static CCSpriteFrame* frameWithTexture(CCTexture2D* pobTexture, const CCRect& rect, bool rotated, const CCPoint& offset, const CCSize& originalSize);

这个函数中offset 的意义是什么.

我开始使用的方法是
CCSpriteFrame::frameWithTexture(texture,CCRectMake(Def.x,Def.y,Def.width,Def.height),false,ccp(Def.offsetX,Def.offsetY),CCSize(iImgaeWidth,iImageHeight));

无法正常播放,但是通过阅读代码,我发现需要这样修正才能正常.

CCSpriteFrame::frameWithTexture(texture,CCRectMake(Def.x,Def.y,Def.width,Def.height),false,ccp(Def.offsetX - (iImgaeWidth - Def.width)/2.0f,Def.offsetY- (iImageHeight - Def.height)/2.0f),CCSize(iImgaeWidth,iImageHeight));

请问这是为何?