[Cocos Creator] spine 애니메이션 의 정확 한 외곽 선 가 져 오기

1255 단어 TSjscocoscreator
// TS
//       
GetSpineWorldRect(spine: sp.Skeleton): cc.Rect {
    let rect = cc.rect();
    let hasData = false;
    if (spine) {
        if (spine['_skeleton']) {
            let offset = {
                x: 0,
                y: 0,
                set: function (x: number, y: number) {
                    this.x = x;
                    this.y = y;
                }
            }
            let size = {
                x: 0,
                y: 0,
                set: function (x: number, y: number) {
                    this.x = x;
                    this.y = y;
                }
            }
            let tmp = new Array();
            spine['_skeleton'].getBounds(offset, size, tmp);
            rect.x = offset.x;
            rect.y = offset.y;
            rect.width = size.x;
            rect.height = size.y;
            hasData = true;
        }
    }
    if (!hasData || (rect.x == 0 && rect.y == 0 && rect.width == 0 && rect.height == 0)) {
        rect.x = -50;
        rect.y = -50;
        rect.width = 100;
        rect.height = 100;
    }
    return rect;
}

엔진 코드 와 단점 데이터 구조 참조
레 퍼 런 스
https://blog.csdn.net/Pan_mouren/article/details/93500860

좋은 웹페이지 즐겨찾기