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 대신 쓰는 것으로 해결했다..
'Cocos Creator' 카테고리의 다른 글
Layout Update (0) | 2022.04.06 |
---|---|
좌표계 (월드 스페이스와 로컬 스페이스) (0) | 2022.04.06 |
클릭(터치)한 지점의 좌표 구하기 (0) | 2022.03.25 |
ParticleSystem, Animation 재시작 (0) | 2022.03.18 |
일정시간 동안 숫자 증가시키는 UI (0) | 2022.03.18 |