You are not logged in.

Dear visitor, welcome to krpano.com Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, April 7th 2009, 10:32am

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

Quoted

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:

Quoted

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

2

Friday, April 10th 2009, 1:34pm

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)

Source code

1
<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

3

Friday, April 10th 2009, 6:59pm

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:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var krpano:krpano_as3_interface = null;
...
function startplugin(evt:Event):void
{
   krpano = krpano_as3_interface.getInstance();
   krpano.addPluginEventListener(this, krpano_as3_interface.PLUGINEVENT_REGISTER, registerEvent);
}

function registerEvent(evt:DataEvent):void
{
  var plugin_path   : String = event.data;
  var plugin_object : Object = krpano.get(plugin_path);
   ...
}


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.

Source code

1
2
3
4
5
6
7
8
9
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:

Source code

1
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:
http://krpano.com/docu/plugins/

Schöne Grüße,
Klaus

Similar threads