本身我是做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)
}
文章讲述了作者如何在CocosCreator中模拟Unity的Mathf.Lerp函数,通过定义t、a和b三个变量来实现从初始值a到目标值b的插值计算。作者提供了一段自定义的Lerp函数代码,并在update方法中应用,类似于Unity中的用法。最后,作者发现CocosCreator的math.lerp函数可以达到相同的效果。

3053

被折叠的 条评论
为什么被折叠?



