修改精灵后尺寸显示不正确

用的是cocos creator 2.0.0在编辑器用浏览器运行。
准备两张尺寸差别比较大的图片,比方说一张100900 一张 900100
我首先用sprite.spritFrame = spriteFrame1.clone()的方法给精灵赋值,
然后在0.5秒之后把精灵隐藏,sprite.acitve = false;
然后在0.5秒之后修改精灵,sprite.spritFrame = spriteFrame2.clone(),然后显示精灵,sprite.acitve = true;
会发现精灵显示的尺寸会被拉伸到spriteFrame1的大小。但是node的width跟height是spriteFrame2的尺寸。
如果我先显示精灵再修改精灵,也就是sprite.acitve = true;sprite.spritFrame = spriteFrame2.clone();
这个时候显示正常。请问这个问题要怎么解决,因为逻辑需要在隐藏精灵的时候修改精灵的信息。

测试工程test.zip (53.3 KB)

测试的代码可以这样写
Test.js

cc.Class({
extends: cc.Component,

properties: {
    sprite :{
        default : null,
        type : cc.Sprite
    },
    sf1 :{
        default : null,
        type : cc.SpriteFrame
    },
    sf2 :{
        default : null,
        type : cc.SpriteFrame
    }

},

start () {
    this.timer = 0;
    this.sprite.spriteFrame = this.sf1.clone();
    this.flag = false;
},
update (dt) {
    if(this.timer < 1){
        this.timer += dt;
        if(this.timer > 0.5 && this.sprite.node.active && this.flag == false){
            this.sprite.node.active = false;
            this.flag = true;
        }
        if(this.timer > 1){
            this.timer -= 1;
            this.sprite.spriteFrame = this.sf2.clone();
            this.sprite.node.active = true;
        }
    }
},

});