/**

* @method 更换皮肤 用外部图片

* @param sk

* @param slotName

* @param texture

*/

ChangeCloth(sk: sp.Skeleton, slotName: string, texture: cc.Texture2D) {

//获取插槽

let slot = sk.findSlot(slotName);

//获取挂件

let att = slot.attachment;

//创建region

let skeletonTexture = new sp.SkeletonTexture();

skeletonTexture.setRealTexture(texture)

let page = new sp.spine.TextureAtlasPage()

page.name = texture.name

page.uWrap = sp.spine.TextureWrap.ClampToEdge

page.vWrap = sp.spine.TextureWrap.ClampToEdge

page.texture = skeletonTexture

page.texture.setWraps(page.uWrap, page.vWrap)

page.width = texture.width

page.height = texture.height

let region = new sp.spine.TextureAtlasRegion()

region.page = page

region.width = texture.width

region.height = texture.height

region.originalWidth = texture.width

region.originalHeight = texture.height

region.rotate = false

region.u = 0

region.v = 0

region.u2 = 1

region.v2 = 1

region.texture = skeletonTexture

//替换region

att.region = region

att.setRegion(region)

att.updateOffset();

}

更多推荐