-
Creator 版本:2.4.2
-
目标平台: 模拟器
-
问题描述:请问一个问题,就是我知道缓动完成是有回调的,但是缓动过程中的回调官方有提供方法么?就是缓动属性每发生一次变化就调用一次。
对一个自定义属性做tween,这个自定义属性的setter方法里你可以做任何事
https://docs.cocos.com/creator/manual/zh/scripting/tween.html?h=自定义%20progress
自定义 progress
相对于 easing,自定义 progress 函数可以更自由的控制缓动的过程。
// 对所有属性自定义 progress
cc.tween().to(1, { scale: 2, rotation: 90 }, {
progress: (start, end, current, ratio) => {
return start + (end - start) * ratio;
}
})
// 对单个属性自定义 progress
cc.tween().to(1, {
scale: 2,
position: {
value: cc.v3(),
progress: (start, end, current, t) => {
// 注意,传入的属性为 cc.Vec3,所以需要使用 Vec3.lerp 进行插值计算
return start.lerp(end, t, current);
}
}
})
你可以自己在节点的update判断属性变没变化。