我想在AS3中制作一个动画饼图,它只显示一个var,但是这个var每隔X秒更新一次。我想要做的就是将这个饼图动画更新为具有补间动画的新“状态”。我无法工作的东西。我已经尝试使用tweenmax等。AS3中的动画饼图
这是我的饼图代码生成器:
var degree: Number = 90;
var degChange: Number = 1;
var circleR: Number = 100;
var circleX: Number = 100;
var circleY: Number = 100;
var angleR: Number = circleR/4;
var spBoard: Sprite = new Sprite();
spBoard.x = circleX;
spBoard.y = circleY;
C1.Maskmc.addChild(spBoard);
var shFill: Shape = new Shape();
shFill.graphics.lineStyle(1, 0x000000);
shFill.graphics.moveTo(0, 0);
shFill.graphics.lineTo(circleR, 0);
shFill.x = 0;
shFill.y = 0;
var shAngle: Shape = new Shape();
spBoard.addChild(shFill);
function updatePicture(t: Number): void {
var radianAngle: Number //=// t * Math.PI/180.0;
var i: int;
shFill.graphics.clear();
shFill.graphics.moveTo(0, 0);
shFill.graphics.beginFill(0xFF00FF, 1);
for (i = 0; i <= t; i++) {
shFill.graphics.lineTo(circleR * Math.cos(i * Math.PI/180), -circleR * Math.sin(i * Math.PI/180));
trace(i)
}
shFill.graphics.lineTo(0, 0);
shFill.graphics.endFill();
}
var clockTimerTRas: Timer = new Timer(1000, 0);
clockTimerTRas.addEventListener(TimerEvent.TIMER, UpdateP);
clockTimerTRas.start();
function UpdateP(evt: Event): void {
var TurnoEstaHora
var TurnoActual_A: int = (it takes a var from a php here)
degree = TurnoActual_A * (11.305)
updatePicture(degree);
}
这正如我前面所说,它只会让一个圆或取决于从PHP加载了var不完整的圆。
到目前为止,它的工作原理是这样的,https://media.giphy.com/media/qiutE2wCo1YXe/giphy.gif
我想补间动画那个。有任何想法吗?
谢谢!
谢谢你的回复,但你可以看到这正是我已经有了,它会用新的“大小”没有吐温更新。 – CrazyF8ck
我真的很抱歉,我错过了您的代码几乎相同的事实。我刚刚编辑了我的答案,并在那里添加了补间。请检查一下。虽然,我会建议使用其他吐温引擎(非本地吐温)。 –
谢谢!这正是我想要做的! – CrazyF8ck