Komunikation zwischen Plugins??

  • Hallo!
    Ist es möglich die Eigenschaften eines Movieclips in einen Plugin mit "set()" aus einen anderen plugin zu verändern??
    Laut Doku muste es mit

    Quote

    node[name].attribute
    node[name].subnode.attribute
    node[name].subnode[subnodename].attribute


    gehen oder?
    Versuche ein MC "backbar" in dem Plugin "steuerung" aus einen hotspot mit diversen Codevarianten zu verändern:

    Quote

    set(plugin[steuerung].backbar.alpha, 1);
    set(plugin[steuerung.backbar].alpha, 1);
    set(plugin[steuerung].stage[backbar].alpha, 1);

    leider ohne Erfolg.
    Was mache ich falsch??
    Grüsse in die Runde
    Mil

  • Hallo!
    Ok, ich versuche mein Problem etwas genauer zu beschreiben ...
    Ich habe ein Plugin "steuerung" dem ich für Navigation und Anzeige von Zusatzinfos benutzen will. Es funktioniert recht gut (danke Klaus fur die "Vorlage" flashcs3exampleplugin)

    Code
    <plugin name="steuerung" url="plugins/steuerung.swf" zorder="99"/>


    In diesem Plugin will ich eine MovieClip "backbar" als ein overlay der das ganze bild halbtransparent verdecken soll einsätzen, wenn der Benutzer Zusatzinfos zu sehen bekommt. In diesem Fall soll die "alpha"-Eigenschaft des "backbar" auf zb.0.7 gestellt werden.
    Diese "Aktion" soll erfolgen wenn der Benutzer auf ein Hotspot clickt. D.h. der Hotspot musste dem Plugin mitteilen "ich wurde angeklickt, stelle alpha von backbarauf 0.7"
    Ich dachte mit der "set()" Methode musste es ohne weiteres funktionieren. Meine bisherigen versuche sind erfolglos, deshalb die Frage in meinen ersten Posting.
    Ich wieß dass mann dieses Vorhaben anders umsätzen kann (mit extra Plugin für Overlay) doch es währe interessant zu wissen wie so was geht.
    In übrigen bin ich deshalb von FPP zu KRPano gewechselt weil die API mir viell klarer erschien ....
    Ich hoffe dass jemand mir ein Tipp geben kann.
    Grüsse
    Mil

  • Hi,

    um Zugriff auf Variablen oder Objekte eines Plugins zu erhalten gibt es mehrere Möglichkeiten,

    ich versuche jetzt eine Möglichkeit zu beschreiben, die für deinen Fall wahrscheinlich passen sollte:
    (Achtung dazu ist mindestens die krpano Version 1.0.7 notwendig, im Flash CS3 Beispiel ist eine
    krpano.swf der Version 1.0.6 enthalten!)

    zuerst ist es notwendig im Plugin ein "REGISTER" Event zu setzen,
    das ist notwendig um den Namen ("name") des Plugins im XML zu erfahren
    und in der Folge darauf zugreifen zu können,

    hier ein AS3 Code Beispiel dazu:

    um jetzt z.B. auf Objekte (Sprites, MovieClips, ...) des Plugins zugreifen zu können,
    müssen diese im Plugin registriert werden, das geht durch eine einfache Zuweisung,
    z.B.

    Code
    var myBackBar:MovieClip = ....
    ...
    function registerEvent(evt:DataEvent):void
    {
      var plugin_path   : String = event.data;
      var plugin_object : Object = krpano.get(plugin_path);
    
    
       plugin_object.backbar = myBackBar;      // <<--
    }


    dabei gibt es eine Einschränkung - der Name im Plugin Objekt darf nur Kleinbuchstaben enthalten!

    jetzt kann im XML auf dieses Objekt und dessen Attribute ganz normal zugegriffen werden,
    z.B - XML:

    Code
    set(plugin[steuerung].backbar.alpha, 0.7);


    das wäre der wahrscheinlich einfachste Weg, zusätzlich gibt es noch viele weitere Möglichkeiten,
    z.B. um auf Änderungen eines Wertes im Plugin reagieren zu können, da gäbe es einerseits
    die Möglichkeit "getter" und "setter" zu verwenden oder das "UPDATEEVENT",

    ein paar weitere Informationen finden sich auch noch hier:
    https://krpano.com/docu/plugins/

    Schöne Grüße,
    Klaus

Participate now!

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