Имам mxml кръгова диаграма, която бих искал да завъртя бавно преди щракване на бутон, но при щракване тя трябва да спре незабавно (или поне сравнително бързо) и след това етикетите на допълнителното описание се въвеждат с избледняване.
Експериментирах и с двете функции на таймера, за да постигна това:
protected function group1_creationCompleteHandler(event:FlexEvent):void
{
var rt:Timer = new Timer(20,0);
rt.addEventListener(TimerEvent.TIMER, rtt);
rt.start()
}
private function rtt(event:TimerEvent):void
{
QPieSeries.startAngle -=1;
}
както и вариант callLater, който дава (не е изненадващо) същия ефект:
protected function group1_creationCompleteHandler(event:FlexEvent):void
{
rtt();
}
private function rtt():void
{
QPieSeries.startAngle -=1;
callLater(rtt);
}
Моят проблем обаче е, че и двата метода за постигане на този ефект са много лоши по отношение на производителността, което е разбираемо с големия брой събития, които многократно се задействат и получават.
Опитвам се да използвам подхода var rotateVar:Rotate = new Rotate(QPieSeries)
, но проблемът идва, когато го спра, етикетите не съвпадат със сегментите, без да прилагам метода QPieSeries.startAngle
, и това има навика да води до скокове и т.н. и като цяло разваля нещата когато се прилага във всякакъв вид цикъл.
Мисля, че това, което наистина искам да направя (е, в това, че може да доведе до жизнеспособно решение), е някакъв вид QPieSeries.startAngle = 60
във времеви цикъл, с някакъв вид интерполиращ ефект, който се случва? И през някакъв определен период от време, за да съответства на периода от време на цикъла.
Това обаче не е по силите ми, ако някой има какво да предложи/каже по този въпрос, ще съм много благодарен.
Благодаря!
Event.ENTER_FRAME
? Така или иначе това е единственият път, когато ще преначертаете. - person jswolf19   schedule 12.02.2011