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:
|
Quellcode
|
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.
|
Quellcode
|
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:
|
Quellcode
|
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