Cocos Creator

[2.4.5 버그] cc.lerp

밀하우스 마나스톰 2022. 4. 1. 15:05
let unit = cc.lerp(this.layoutOldPos, -targetDistance, this.timeStack * moveSpeed);

원래 노드의 이동은 tween을 이용해서 처리하는 편인데,

tween은 노드의 active가 꺼지면 작동을 멈추기 때문에 lerp를 쓰는 것으로 선회했다.

 

 

그런데 왠걸? 에디터에서 디버깅까지 다 마치고 뽑은 빌드에서 cc.lerp를 찾을 수 없다는 에러가 나왔다.

 

'cc.lerp not a function' 키워드로 구글링해봤지만 원인을 찾을 수 없었다.

 

 

 * @param {Number} a number A
 * @param {Number} b number B
 * @param {Number} r ratio between 0 and 1
 * @function
 * @example
 * cc.lerp(2,10,0.5)//returns 6<br/>
 * cc.lerp(2,10,0.2)//returns 3.6
 */
cc.lerp = function (a, b, r) {
    return a + (b - a) * r;
};

cc.lerp 함수의 원형을 찾아봤더니 이렇게 나왔다.

 

 

lerp(from: number, to: number, ratio: number): number {
        return from + (to - from) * ratio;
}

결국 프로젝트에 cc.lerp와 동일한 함수를 만들었고, cc.lerp 대신 쓰는 것으로 해결했다..