sprite 九宫格如何换图

刚学习 cocos creator 几天,遇到一个问题不知道如何解决,我使用了 Sprite 组件做为一个按钮,并设置了九宫格,然后绑定了 mousedown 事件,需求是点击这个按钮后,换一张图。问题是在换图,我 google 了很多次,看过很多文章都没有找到换图的方法,求指点。
版本是:Cocos Creator 2.2.0

已找到办法:
const image = cc.url.raw(“Texture/Button_Submit_Pressed.png”);
this.node.on(‘mousedown’, () => {
const sprite = this.getComponent(cc.Sprite);
sprite.spriteFrame = new cc.SpriteFrame(image);
});

但是遇到新的问题:

点击更换图片后变成这样了,似乎九宫格已经丢失。

是不是新图的九宫格没设置好啊。

新图九宫格要怎么设置呢?官方文档只有在 creator 里面设置的,如果使用代码要怎么来,求个文档。

new cc.SpriteFrame(image,…);这后面是有几个参数的,其中就有九宫格的相关设置,你搜搜文档,不行就看看源码

let Sprite = new cc.Sprite(); let sp = Sprite.spriteFrame; Sprite.type = cc.Sprite.Type.SLICED; sp.insetBottom = 0; sp.insetTop = 0; sp.insetLeft = 0; sp.insetRight = 0;

[quote=“825947170, post:7, topic:85138”][quote=“825947170, post:7, topic:85138”]
insetRight
[/quote]
sp.insetTop = 0;sp.insetLeft = 0;sp.insetRight = 0;
[/quote]

谢谢,你的解决方案OK。