如何获取曲线上每个点的坐标?

cocoscreator如何获取任意曲线上所有点的坐标数组?

要看什么曲线,怎么来的,是node随曲线运动之后再用还是提前就要知道

如果是用spine等动画工具做的不规则的,就实时获取随曲线运动的node坐标
如果是自己画的复杂曲线,画之前就能算出,实在不会算,就先画一次,画的时候就把坐标存好
(好像N年前我做捕鱼游戏运动路径就用到了这个,要先写个路径编辑器)
如果贝兹曲线之类的,通过控制点就能计算,这个是数学问题,一两句话我也说不清,直接百度吧

比如一条三阶贝塞尔,a/c/z 分别为起点/中点/终点,传入 t [0-1] 可以取得该时间点的坐标

function bezier(t: number, a: cc.Vec2, c: cc.Vec2, z: cc.Vec2): { x: number, y: number } {
    return {
        x: (1 - t) * (1 - t) * a.x + 2 * t * (1 - t) * c.x + t * t * z.x,
        y: (1 - t) * (1 - t) * a.y + 2 * t * (1 - t) * c.y + t * t * z.y,
    };
}