自定义Assembler 安卓真机位置bug

直接从引擎的SimpleSpriteAssembler extends Assembler2D拷贝出来的代码,真机就不行,这是为啥?
拷贝cocos2d-jsb.js里面的代码也那样,uv直接相差半个屏幕

可以贴下代码

找到了,native的代码,下面第一段是sliced的Sprite 第二段是 SimpleSprite

void SlicedSprite2D::generateWorldVertices()
{
    RenderData* data = _datas->getRenderData(0);
    float* verts = (float*)data->getVertices();
    
    auto floatsPerVert = _bytesPerVertex / sizeof(float);
    for (auto row = 0; row < 4; ++row) {
        float localRowY = _localData[row * 2 + 1];
        for (auto col = 0; col < 4; ++col) {
            float localColX = _localData[col * 2];
            std::size_t worldIndex = (row * 4 + col) * floatsPerVert;
            verts[worldIndex] = localColX ;
            verts[worldIndex + 1] = localRowY;
        }
    }
}
cc.Assembler2D.prototype.updateWorldVerts = function (comp) {
  var local = this._local;
  var verts = this._renderData.vDatas[0];
  var vl = local[0],
      vr = local[2],
      vb = local[1],
      vt = local[3];
  var floatsPerVert = this.floatsPerVert;
  var vertexOffset = 0; // left bottom

  verts[vertexOffset] = vl;
  verts[vertexOffset + 1] = vb;
  vertexOffset += floatsPerVert; // right bottom

  verts[vertexOffset] = vr;
  verts[vertexOffset + 1] = vb;
  vertexOffset += floatsPerVert; // left top

  verts[vertexOffset] = vl;
  verts[vertexOffset + 1] = vt;
  vertexOffset += floatsPerVert; // right top

  verts[vertexOffset] = vr;
  verts[vertexOffset + 1] = vt;
};