Javascript 带EaselJs的倒计时动画

Javascript 带EaselJs的倒计时动画,javascript,animation,path,easeljs,jstween,Javascript,Animation,Path,Easeljs,Jstween,我正在尝试使用easeljs模拟倒计时动画。我有一个它应该是什么样子的例子 但这看起来像一个黑客,有没有合适的/更好的/灵活的方法来做到这一点 换句话说,我如何定义一条路径,并用easeljs绘制该路径 这看起来很难看: createjs.Tween.get(bar, {override: true}).to({x: 400}, 1500, createjs.linear) .call(function() { createjs.Tween.get(bar, {override

我正在尝试使用easeljs模拟倒计时动画。我有一个它应该是什么样子的例子

但这看起来像一个黑客,有没有合适的/更好的/灵活的方法来做到这一点

换句话说,我如何定义一条路径,并用easeljs绘制该路径

这看起来很难看:

     createjs.Tween.get(bar, {override: true}).to({x: 400}, 1500, createjs.linear)
.call(function() {
    createjs.Tween.get(bar, {override: true}).to({y: 400}, 1500, createjs.linear)
 .call(function() {
    createjs.Tween.get(bar, {override: true}).to({ x: 10 }, 1500, createjs.linear)
  .call(function() {
    createjs.Tween.get(bar, {override: true}).to({ y: 10 }, 1500, createjs.linear);
        })
    });
});
您可以使用“沿一条路径连接到两个连接点”,而不是使用多个连接点

createjs.MotionGuidePlugin.install();
createjs.Tween.get(bar).to({
    guide: {path: [10,10, 10,10,400,10, 400,10,400,400, 400,400,10,400, 10,400,10,10]}
}, 6000, createjs.linear);
路径数组基本上是一个moveTo调用的坐标集,后跟多个curveTo调用。坐标将沿这些调用产生的路径插值


指定路径数组的一种更模块化的方法是使用一组您声明的点生成它的函数

function getMotionPathFromPoints (points) {
    var i, motionPath;

    for (i = 0, motionPath = []; i < points.length; ++i) {
        if (i === 0) {
            motionPath.push(points[i].x, points[i].y);
        } else {
            motionPath.push(points[i - 1].x, points[i - 1].y, points[i].x, points[i].y);
        }
    }

    return motionPath;
}

var points = [
    new createjs.Point(10, 10),
    new createjs.Point(400, 10),
    new createjs.Point(400, 400),
    new createjs.Point(10, 400),
    new createjs.Point(10, 10)
];

createjs.MotionGuidePlugin.install();
createjs.Tween.get(bar).to({
    guide: {path: getMotionPathFromPoints(points)}
}, 6000, createjs.linear);
函数getMotionPathFromPoints(点){
变量i,运动路径;
对于(i=0,motionPath=[];i

您是否正在尝试创建进度条或类似于小提琴的东西?类似于带有自定义路径的进度条。是否有方法使您的路径在已命中的点上保持可见?例如进度条