spine api

为什么?
居然找不到spine api?
根据官方给的demo,想要简单实现一个换装并不难,给个换装源码,如下


    /**
     * 用外部图片局部换装
     * @param sk   骨骼动画
     * @param slotName  需要替换的插槽名称
     * @param texture   外部图片
     */
    public static changeSlot(sk: sp.Skeleton, slotName: string, texture: Texture2D) {
        //获取插槽
        let slot = sk.findSlot(slotName);
        if (!slot)
            return;

        //获取挂件
        let att = slot.attachment as sp.spine.RegionAttachment;
        if (!att)
            return;
        //创建region
        let skeletonTexture = new sp.SkeletonTexture({
            width: texture.width,
            height: texture.height
        } as ImageBitmap);
        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&&att.setRegion(region)
        att.updateOffset&&att.updateOffset();
    }

功能能可以实现,但完全不知道其中的门门道道…
比如这个 setRegion 方法的用处和功能, updateOffset 又有何意义
我查了https://docs.cocos.com/creator/3.1/api/zh/classes/spine.skeleton-1.html上面的写的内容完全用不上

spine是cocos很重要的一部分知识,希望有大佬出来指点迷津,关于这个spine的学习从哪开始

先提供一个creator.d.ts里缺失的spine提示
spine.d.ts.zip (7.6 KB)

3赞

如果主题无解的话想先问下这个参数的作用

请问这个方式原生可用吗?

个人理解没啥用,cocos只支持单轨道,只能填0,,,,,

1赞

原生不行!!

寄,