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

Friday, December 3rd 2010, 3:20pm

Versteckte Plugins beim Panoramawechsel versteckt lassen

Hi,

ich verstecke per Knopfdruck in AS3 einige Plugins (in meine XML sind diese ganz normal hinzugefügt und sichtbar) mit:

Source code

1
2
3
loop{
   pluginlayer.getChildAt(i).visible = false;
}


danach wird dann irgendwann das Panorama mal gewechselt:

Source code

1
krpano.call("loadpano(neues_pano.xml, null,MERGE,BLEND(2);");


allerdings sind jetzt wieder alle Plugins, die ich vorher per Script versteckt habe sichtbar. Gibt es einen Weg das Panorama so zu wechseln, dass die Plugins die ich verstecke auch versteckt bleiben?

Danke

2

Wednesday, December 8th 2010, 7:13pm

Hi,

Ich vermute einmal das dein Plugin ohne keep="true" eingebunden ist und in der neuen XML noch einmal eingebunden wird,
d.h. dein Plugin würde beim Laden entfernt und wieder hinzugefügt werden,

das kann aber mittels - keep="true" - verhindert werden,
dann wird das Plugin beim Laden 'behalten',

z.B.

Source code

1
<plugin ... keep="true" ... /> 


Schöne Grüße,
Klaus

3

Thursday, December 9th 2010, 10:01am

Hallo Klaus,

danke für den Tipp. Ich habe jetzt alle Plugins mal mit keep="true" versehen und sie bleiben beim MERGE (und z.B. NULL) auch erhalten, sind aber wieder sichtbar!

Ich habe z.B.
<plugin name="map" keep="true" url="%SWFPATH%/include/map.swf" zorder="20" origin="rightcenter" edge="rightcenter" x="0" y="0" alpha="1" width="444" height="600" handcursor="false"/>

Die Karte ist sichtbar bis ich mein Plugin starte. Dann wird es mit AS3 per "pluginlayer.getChildAt(i).visible = false;" verstecke und ich wechsle irgendwann in AS3 mit 'krpano.call("loadpano(neues_pano.xml, null,MERGE,BLEND(2);");' das Panorama. Sobald das Panorama geladen wurde wird meine Karte wieder angezeigt.

4

Thursday, December 9th 2010, 5:45pm

Hi,
Dann wird es mit AS3 per "pluginlayer.getChildAt(i).visible = false;" verstecke
so geht das natürlich nicht
wenn dann das muss das Plugin über die krpano Funktionen versteckt werden,
dazu das "visible" des Plugin Elements auf "false" setzen,

wenn von "aussen" irgendetwas unkontrolliert an den Flashplayer DisplayList Objekten
geändert wird, kann der krpano Viewer das ja nicht wissen/kontrollieren,

Schöne Grüße,
Klaus

5

Monday, December 13th 2010, 10:47am

Ah, ok! Hab die Schleife so abgeändert, dass er einfach per 'krpano.call("set(plugin["+_name + "].visible,false");' die Plugins versteckt und dann bleiben sie beim wechseln auch versteckt!

Vielen Dank!

6

Monday, December 13th 2010, 11:55am

Hi,

noch ein kleiner Hinweis,
der Code hier wäre noch wenig besser:

Source code

1
krpano.set("plugin["+_name + "].visible",false);


das Setzen einer Variablen kann auch direkt per "set" vorgenommen werden,
bei "call" muss der set Befehl erst geparsed werden, was ein wenig aufwändiger und langsamer ist,

Schöne Grüße,
Klaus