CocosCreator Lerp插值

本身我是做Unity的习惯了使用Mathf.Lerp完事在CococsCreator里面没有找到这个相关的函数 完事就自己写了一个    具体的公式如下

首先定义三个字段 t,a,b   a表示初始值 b表示目标值

t的话代表 从a到b之间的一个差值率 t会被限制在0~1之间  t是=的情况下返回a t是1的情况下返回b

具体的代码如下

   /**
    * @param a 初始值
    * @param b 目标值
    * @param t 差值率
    * @returns 返回插值之后得结果
    * @protected 插值运算
    */
    public Lerp(a: number, b: number, t: number) {
        return a + (b - a) * t;
    }

用法

    protected update(dt: number): void {
        this.progress = this.Lerp(this.startValue, this.endValue, this.speed * dt)
    }

 最后我发现 是在math.lerp里面  用法是一样的

    protected update(dt: number): void {
        this.progress = math.lerp(this.startValue, this.endValue, this.speed * dt)
    }

猜你喜欢

转载自blog.csdn.net/qq_41973169/article/details/130358580