2011-07-07 3 views
0

Je dois être capable d'animer un LineChart basé sur l'effet de données SeriesInterpolate (j'aurai un tableau de dataproiders). Je veux avoir un bouton « Play » qui:Animation d'un LineChart basé sur le changement de dataProvider

  1. initialiser le LineChart avec le premier fournisseur de données dans le tableau
  2. démarrer l'animation et attendre l'animation pour terminer avant de charger le second fournisseur de données
  3. répétez le processus jusqu'à ce que tous les fournisseurs de données dans le tableau soient chargés

Des pensées?

Répondre

2

Pas de problème, vous allez juste utiliser l'événement effectEnd

donc sur votre effet, vous voulez joindre l'auditeur effectEnd, quelque chose comme ceci:

<mx:SeriesInterpolate id="interpolateIn" duration="1000" effectEnd="fetchNextDataset()"/> 

Ensuite, dans votre code, vous devez stocker vos ensembles de données, et un index dont vous êtes en train de visualiser, et enfin la méthode qui les permute.

 private var datasets  :ArrayCollection; // fill with your datasets    
     private var currentDataset : uint = 0;   // holds current dataset 

     private function fetchNextDataset() : void { 
      if(currentDataset >= datasets.length) return; // out of range, played em all! 
      candlestickchart.dataProvider = datasets.getItemAt(currentDataset); 
      currentDataset++; 
     } 

En ce qui concerne le bouton de lecture, tout ce qu'il doit faire est de faire le premier appel à fetchNextDataset();

<mx:Button label="play" click="fetchNextDataset()"/> 

Avez-vous un sens?

+0

Totalement! Merci beaucoup. J'étais trop compliquer le problème. :) – Mino

+0

nous le faisons tous de temps en temps: D – Nate

+0

Rappelez-vous, vous pouvez ajouter un délai de début si vous voulez une courte pause entre les jouer, et si vous voulez une fonction de pause, déplacez l'écouteur effectEnd sur le bouton pour le jouer (ainsi que l'appel à fetchNext), faites le vous pouvez faire un bouton de pause facilement, justeRetirer l'écouteur effectEnd: D – Nate

Questions connexes