我想在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