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:

    Code
    loop{
       pluginlayer.getChildAt(i).visible = false;
    }

    danach wird dann irgendwann das Panorama mal gewechselt:

    Code
    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

  • 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.

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

    Schöne Grüße,
    Klaus

  • 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.

  • 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

  • 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!

  • Hi,

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

    Code
    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

Participate now!

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