AS3 plugin interface umbau?

  • Ich stehe etwas an; vielleicht kann jemand helfen(?):

    Beim Upgraden mancher meiner touren, die eigene swf-plugins enthalten, ist es nötig, die mittlerweile neue swf 1.0.8.14 sowie deren interface.as und die neue Einbindung in as3-code zu verwenden, wie es klaus schreibt.
    Sieht bei mir zB so aus:


    .. jetzt habe ich hier nur die möglichkeit, (xml-aufrufbare) funktionen zu definieren, aber nicht, wie bisher - nach geladenem plugin - direkt code ausführen zu lassen, mit dem diese funktionen ggf. interagieren;
    so wie bisher einfach mit code fortzusetzen:


    ... ist nicht möglich, da zB die arrays scTexte und scTitel sich nicht mehr im jew. benötigten Gültigkeitsbereich befinden. In der bisherigen Methode, war ich nicht gezwungen, die benötigten funktionen (die mit kr.set("...",...)) innerhalb der registerplugin-funktion zu definieren.
    Gibt es einen Weg, dies zu umgehen?

    PS: Es geht in dem Beispiel um eine in Flah erstellte Textbox "Scroller" mit Titelleiste und Textscrollbereich, für die beim Laden des Plugins ein 2dim Array alle Texte erhält und das Plugin selbst tauscht (xml-Befehl "newSC" bei jedem szenenwechsel) auf Befehl diese Texte für die neue szene aus...

    EDIT:
    Bin schon draufgekommen, dass meine bisherige Version der Einbindung - mit

    weiterhin auch mit der neuen interface.as funktioniert und damit das Problem der Variablengültigkeit ausserhalb v. funktionen gar nicht besteht...
    Manchmal ist der einfache Weg, etwas zum Laufen zu bringen, der, der einem zuletzt einfällt...

  • Hi,

    ich verstehe leider das genaue Problem nicht ganz...
    ist die Frage bzgl. AS3 oder dem Interface selbst?

    grundsätzlich lässt sich aber mit dem neuen Interface auch alles (und noch mehr) machen, was mit dem alten auch möglich war...
    im Prinzip hat sich nur der Startpunkt (registerplugin anstelle dem Register Event) und die Art wie das krpano Interface Objekt übergeben wird, geändert...

    Schöne Grüße,
    Klaus

  • Bin mir nicht sicher, wo der "Hund begraben liegt", aber der code:


    führt bei mir in Flash immer zur Ausgabemeldung:
    TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
    at paScroller01dev_fla::MainTimeline/frame1()

  • Hi,

    der Zugriff auf das "kr" Objekt hier erfolgt zu früh:

    Code
    var sceneCount:int = kr.get("scene.count");

    das "kr" Objekt ist aber erst nach dem "registerplugin" Aufruf verfügbar (das war aber in den vorherigen Versionen genauso),

    Schöne Grüße,
    Klaus

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!