Wie rufe ich eine Funktion in einer Klasse einer anderen Klasse auf?

Update: Geänderter Titel, um meine Frage besser widerzuspiegeln

Hallo allerseits :)

Meine heutige Frage dreht sich um ein CustomEvent, das ich von einer Unterklasse zu einer anderen senden möchte.

Ich habe meine CustomEvent-Klasse verwendet, um ein Ereignis von einer Unterklasse an meine Hauptklasse zu übergeben. Ich bin mir jedoch nicht sicher, wer das zwischen Unterklassen tun soll.

Meine benutzerdefinierte Ereignisklasse

package src.events {
import flash.events.Event;

public class CustomEvent extends Event 
{
    public static const CHANGE:String="onChange";
    public static const COMPLETE:String="onComplete";
    public static const IMAGE_LOADED:String="onImageLoaded";
    public static const SWF_LOADED:String="onSWFLoaded";
    public static const SWF_UNLOAD:String="onSWFUnload";
    public static const CLICK:String="onClick";
    public static const PAUSE_MOVIE:String="onPause";
    public static const INTRO_CLICKED:String="introClicked";

    public var params:Object;

    public function CustomEvent(type:String, params:Object, bubbles:Boolean = false, cancelable:Boolean = false)
    {
        super(type, bubbles, cancelable);
        this.params=params;
    }

    public override function clone():Event 
    {
        return new CustomEvent(type, this.params, bubbles, cancelable);
    }

    public override function toString():String 
    {
        return formatToString("CustomEvent","params","type","bubbles","cancelable");
    }

}

Sub Class INTRO - Löst ein Ereignis aus

package src.display {

import gs.easing.*;
import gs.TweenLite;
import flash.text.*;
import flash.events.*;
import flash.display.*;
import flash.geom.Matrix;
import flash.geom.ColorTransform;

// ☼ ----------------------------------------- Imported Custom Classes
import src.events.CustomEvent;

// ☼ ----------------------------------------- Intro Class
public class Intro extends Sprite 
{
    private var playBtn:MovieClip;

    // ☼ ----------------------------------------- Constructor
    public function Intro():void 
    {
        this.addEventListener(Event.ADDED_TO_STAGE, init);
    }

    // ☼ ----------------------------------------- Init
    public function init(event:Event):void 
    {
        draw();
    }

    public function draw():void 
    {           
        playBtn = new PlayThumb;
        playBtn.buttonMode = true;
        playBtn.x = 582;
        playBtn.y = 259;
        playBtn.alpha = 1;

        addChild(playBtn);

        playBtn.addEventListener(MouseEvent.MOUSE_UP, clicked);
    }

    private function clicked(e:MouseEvent):void 
    {
        trace("clicked big play");
        dispatchEvent (new CustomEvent(CustomEvent.INTRO_CLICKED, {}));
        trace("event = "+CustomEvent.INTRO_CLICKED);
    }

}

Unterklasse NAVIGATION - wo ich auf die Veranstaltung höre Diese Funktion muss innerhalb der Navigationsklasse aufgerufen werden:

function introPlayButtonClick(e:CustomEvent):void
        {
            trace("introPlayButtonClick called");

            TweenLite.to(buttons[0], 1, {y:20, ease:Strong.easeOut});
            TweenLite.to(buttons[1], 1, {y:navBtnY, ease:Strong.easeOut});
            TweenLite.to(introTab, 1, {y:60, ease:Strong.easeOut});
            TweenLite.to(scrollerMov, 1, {y:60, ease:Strong.easeOut});
            $btn1 = true;
            $btn2 = false;

            trace("introPlayButtonClick called --- end");
        }

Ok, ich glaube mein Problem liegt in der Navigationsklasse, wie füge ich hier den addEventListener richtig hinzu? Ich erhalte keine der Spuren in meiner introPlayButtonClick-Funktion.

Wie es in meiner Hauptklasse geklappt hat Beim PAUSE_MOVIE-Ereignis wurde der eventListener über den Variablennamen nv an die Navigationsklasse angehängt:

nv.addEventListener("onPause", pauseMovie); // Inside of MAIN class

Aber da ich den Ereignis-Listener innerhalb der Navigationsklasse für das INTRO_CLICKED-Ereignis hinzufüge, dachte ich, dass alles, was ich brauchte, war(diese.) fügte hinzu, aber bis jetzt bekomme ich dieses Ereignis nicht zum Auslösen.

Irgendwelche Ideen, Tipps, Gedanken?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage