Righto.  So it would appear that the reason for this is that the
play() function of the SeriesInterpolateInstance, SeriesSlideInstance
and SeriesZoomInstance classes are missing the call to super.play()
which would result in the effectStart event being dispatched.

If you need this event dispatched then you have to extend the factory
and instance class along the lines of this:

package
{
  import mx.charts.effects.SeriesInterpolate;
  
  public class TSFSeriesInterpolate extends SeriesInterpolate
  {
      
    public function TSFSeriesInterpolate(target:Object = null)
    {
      super(target);
      instanceClass = TSFSeriesInterpolateInstance;
    }
      
  }
    
}

import mx.charts.effects.effectClasses.SeriesInterpolateInstance;
import mx.events.EffectEvent;

class TSFSeriesInterpolateInstance extends SeriesInterpolateInstance
{
  public function TSFSeriesInterpolateInstance(target:Object)
  {
    super(target);
  }
    
  override public function play():void
  {
    // The next six lines are what occurs in the EffectInstance's
    // play() function, so because the hierarchy of play() functions
    // is broken we must do these ourselves.
    playCount++;
    dispatchEvent(new EffectEvent(EffectEvent.EFFECT_START,
                                  false,false,this));
    if (target)
      target.dispatchEvent(new EffectEvent(EffectEvent.EFFECT_START,
                                           false, false, this));
        
    super.play();
  }
}


Cheers,

Graham


--- In flexcoders@yahoogroups.com, "g_odds" <[EMAIL PROTECTED]> wrote:
>
> It would appear that from SeriesEffect downwards in the object
> hierarchy, none dispatch an effectStart event when played.  I have
> checked this by using exactly the same code except for changing the
> effect type and only series effects appear to exhibit this behaviour.
> 
> I'm sifting through the source to find out why but so far I haven't
> spotted anything.
> 
> Thanks in advance for any help.
> 
> Graham
>


Reply via email to