texture2d::updateWithData后从指定位置获取图片显示错误

Texture2D* mTextureAtlas = new Texture2D();
//jhb 修改了材质模式
mTextureAtlas->initWithData(pData, nSize, Texture2D::PixelFormat::RGBA8888, mAtlasWidth, mAtlasHeight, Size(mAtlasWidth, mAtlasHeight));
for (size_t i = 0; i < 4; i++)
{
int offset = i * 100;
auto fileName = “test/00” + Itoa(8432 + i) + “.png”;
auto image = new (std::nothrow)Image();
image->initWithImageFile(fileName);
mTextureAtlas->updateWithData(image->getData(), offset, 0, image->getWidth(), image->getHeight());

}
auto pSprite = Sprite::create();

pSprite->setTexture(mTextureAtlas);
pSprite->setTextureRect(Rect(0, 0, 500, 500));
this->addChild(pSprite);
pSprite->setPosition(200, 100);
pSprite->setGlobalZOrder(999);

//auto pSprite1 = Sprite::create("test/008432.png");
auto pSprite1 = Sprite::create();
auto image = new (std::nothrow)Image();
image->initWithImageFile("test/008432.png");
Texture2D *texture = new Texture2D();
texture->initWithImage(image);
pSprite1->setTexture(texture);
pSprite1->setTextureRect(Rect(0, 0, image->getWidth(), image->getHeight()));
this->addChild(pSprite1);
pSprite1->setPosition(700, 100);
pSprite1->setGlobalZOrder(999);