关于creator2.0 setRect接口失效

let sprite = this.node.addComponent(cc.Sprite);
sprite.spriteFrame = new cc.SpriteFrame(texture);
let rect = sprite.spriteFrame.getRect();
let newRectWidth = rect.width / colNum;
let newRectHeight = rect.height / colNum;

    let newRectX = col * newRectWidth;
    let newRectY = (colNum - row - 1) * newRectHeight;


    let newRect = cc.rect(0, 0, 10, 10);
    sprite.spriteFrame.setRect(newRect);
    console.log(newRect)

打印rect是 0 0 10 10
但是显示还是整张图片

sprite的sizemode属性

2.0需要显示指定了么,1.93上面的代码是可以的

    let newRect = cc.rect(0, 0, 10, 10);
    sprite.spriteFrame.setRect(newRect);
    sprite.sizeMode = cc.Sprite.SizeMode.CUSTOM;
    console.log(newRect)

还是不行,几个值都试了

如果是新创建的SpriteFrame
var spriteFrame = new cc.SpriteFrame
spriteFrame.setTexture(this.testTexture, cc.rect(100, 100, 200, 200))
sprite.spriteFrame = spriteFrame

如果是已有的spriteFrame 只是设置区域不需要设置纹理
spriteFrame.setTexture(this.testTexture)
spriteFrame.setRect(cc.rect(100, 100, 200, 200))
spriteFrame._calculateUV() // 无奈,这里只能调用这个私有方法
sprite.spriteFrame = spriteFrame

1.10.2在浏览器上能显示,在模拟器报错,安卓包也报错
Failed to invoke js_cocos2dx_SpriteFrame_getRect, location: …\auto\jsb_cocos2dx_auto.cpp:11923