Comment puis-je envoyer un événement personnalisé à partir d'une classe actionscript 3 et de les écouter dans la racine du document?

J'ai construit un événement personnalisé répartiteur qui transmet des variables. Je distribue l'événement et puis j'ai essayer d'écouter l'événement dans ma racine du document, mais je n'ai jamais reçu l'événement. Comment puis-je bulle de l'événement jusqu'à ma classe de document?

addEventListener(CustomVarEvent.pinClicked, pinClickedHandler);

function pinClickedHandler(e:CustomVarEvent) {
        trace("main says " + e.arg[0] + " clicked");//access arguments array
    }

package zoomify.viewer
{
import com.maps.CustomVarEvent;
    protected function hotspotClickHandler(event:MouseEvent):void {
        var hotspotData:Hotspot = hotspotsMap[event.currentTarget] as Hotspot;
        trace(hotspotData._name + " was clicked");
        /*if(hotspotData) {
            navigateToURL(new URLRequest(hotspotData.url), hotspotData.urlTarget);
        }*/
        dispatchEvent(new CustomVarEvent("pinClicked",true,false,hotspotData._name));
    }
}
package com.maps
{
//Import class
import flash.events.Event;
//CustomVarEvent
public class CustomVarEvent extends Event {
    public static const pinClicked:String = "pinClicked";
    //Properties
    public var arg:*;
    //Constructor
    public function CustomVarEvent(type:String, ... a:*) {
        var bubbles:Boolean = true;
        var cancelable:Boolean = false;
        super(type, bubbles, cancelable);
        arg = a;

    }

    //Override clone
    override public function clone():Event{
        return new CustomVarEvent(type, arg);
    };
}


}

La pinClicked événement qui est en train d'être distribué est imbriqué deux niveaux de profondeur dans les classes. - Je ajouter une instance de la classe ZoomifyViewer à la scène. ZoomifyViewer ajoute et de l'instance de ZoomGrid à la scène et ZoomGrid distribue l'événement.

Lorsque j'ajoute le même écouteur d'événement et de la fonction de gestionnaire directement dans mon ZoomGrid de classe (de la même classe que l'événement est distribué à partir d'), puis de l'auditeur et de gestionnaire de fonctionner correctement. Toutefois, lorsque l'auditeur et le gestionnaire sont dans une classe parente, ou sur la scène, je ne reçois aucune réponse.

Est un répartiteur nécessaires à la bulle à bulle?

Aussi, ce sont ces deux lignes identiques en fonction de la constante pinClicked qui est définie dans mon CustomVarEvent?

 dispatchEvent(new CustomVarEvent(CustomVarEvent.pinClicked, hotspotData._name));

 dispatchEvent(new CustomVarEvent("pinClicked", hotspotData._name));

OriginalL'auteur Bryan | 2009-04-14