2

使用easeljs如何为弧的endAngle设置动画

我试图通过创建自己的属性pie.setMyAngle = 0.1; ,然后在刻度中增加它,但这没有用

function init() {

    var canvas = document.getElementById('easel');
    var stage = new createjs.Stage(canvas);

    var pie = new createjs.Shape();
    pie.setMyAngle = 0.1;
    pie.graphics.beginFill("rgba(255,255,255,1)").arc(75, 75, 75, 0, Math.PI * pie.setMyAngle, false).lineTo(75, 75).closePath();

    stage.addChild(pie);

    createjs.Ticker.addEventListener("tick", handleTick);

    function handleTick() {
        pie.setMyAngle += 0.1; //not working
        pie.x += 1
        stage.update();
    }
}
4

2 回答 2

5

更改自定义属性(例如setMyAngle)不会自动更新您的形状;你必须重新绘制自己。例如,您可以将绘图代码移动到handleTick方法中:

function handleTick() {
    pie.setMyAngle += 0.1;
    pie.x += 1;
    pie.graphics.clear();
    pie.graphics.beginFill("rgba(255,255,255,1)").arc(75, 75, 75, 0, Math.PI * pie.setMyAngle, false).lineTo(75, 75).closePath();
    stage.update();
}
于 2013-05-15T20:02:10.563 回答
0

我写了一个有趣的动画TweenJS + DrawingAPI看看:D,可能会帮助别人。

于 2013-06-15T18:35:03.807 回答