Flash-Ereignisse bei Mausüberlauf


Answers

Wenn Sie Folgendes versuchen, können Sie jeden Listener auf Ihrem Objekt verfolgen. Es ruft alle Listener ohne Argumente auf, die einen Fehler verursachen. Wenn Sie den Fehler abfangen, können Sie error.getStackTrace analysieren, um die Speicherorte der Listener error.getStackTrace .

var members:Object = getMemberNames(yourObject);

for each (var name:QName in members) 
{
    if (name.localName == "listeners") 
    {
        for (var i : int = 0; i < yourObject[name].length; i++) 
        {
            var func:Function = yourObject[name][i];

            try
            {
                func.call();
            }
            catch(error:Error)
            {
                trace(error.getStackTrace());
            }
        }
    }
}

Hoffe das hilft.

(Um sicher zu sein, benötigen Sie dafür einen Debug-Player)

Question

Gibt es eine Möglichkeit herauszufinden, welche Methoden aufgerufen werden, wenn Sie die Maus über ein Objekt in einem Flash-Projekt bewegen?




Vielleicht hilft es Ihnen, den Ereignisfluss in AS3 zu kennen: http://help.adobe.com/de_DE/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e4f.html

Kurz gesagt, es gibt zwei Phasen, Capturing und Bubbling. Sie sind an der Bubbling-Phase interessiert, wenn das Ereignis von unten nach oben auf dem Anzeigestapel verläuft. In dieser Phase fangen verschiedene Objekte das Ereignis ab, während es sich fortbewegt und verschiedene Ereignis-Listener ausführt (die Methoden, an denen Sie interessiert sind). Wenn Sie Zugriff auf den Quellcode dieser Objekte haben, können Sie eine Debug-Nachricht in diese Methoden einfügen.

Ich kann an nichts anderes denken.









Links