Intro Image einbinden

  • (sorry, hatte die Spracheinstellung nicht beachtet, daher jetzt der Titel geändert, der Rest sollte wohl klar werden.)

    Hi,

    until now I used to add an "info" button to my controls to call a general information. The point is, you have to be aware of the control buttons already. If you do notice these and are able to find the info button, you probably won't need that information anyway. Unexperienced users might be better off with a popup info at first look, which then disappears and can be opened again if required. The disadvantage is, that EXPERIENCED users might feel this to be a bit annoying. On the other hand, these are able to click the popup away immediately.

    Unfortuneately the introimage example which comes along with krpano causes the introimage to show up EVERY time the users opens the panorama. How do I adjust the code, so that it opens automatically at start up only ONCE?

    This is the basics according to the example code:

    Code
    <events onloadcomplete="delayedcall(2, hideintroimage() ); set(events.onloadcomplete,null);" />


    Any help appreciated,

    Michael

    Edited once, last by mstoss (June 11, 2010 at 12:14 AM).

  • Hallo Michael,

    sorry, ich antworte mal in deutsch, das geht schneller *wink*
    Wenn ich das richtig verstanden habe, möchtest Du das Infopopup in einer Tour nur einmal beim ersten Aufrufen anzeigen und danach nicht mehr, wenn man wieder auf das Panorama kommt?
    Ich würde es so machen: Definiere Dir in der obersten xml-Datei eine Variable, z.B. so set(firstStart,true); Sobald Du auf einen Hotspot oder etwas Anderes klickst, mußt Du dort die Variable auf false setzen und mußt oben sicherstellen, dass die Variable nicht mehr auf true gesetzt wird, außer man klickt auf den Info-Button.
    Im Hilfetextaufruf mußt Du dann nur noch abfragen if(firstStart == true,action(zeigePopup););

    Auf diese Art und Weise habe ich das Umschalten der Sprachen gelöst.

    Gruß
    Karsten

  • Danke Karsten, das werde ich mal probieren *smile*

    edit: ... äh... warte mal. Hab ich da nicht einen Denkfehler? Wenn ich irgendwo in der ersten xml über eine Variable verankere, dass die Info gezeigt werden soll, und nach Schließen der Info die Variable einen anderen Wert erhält, wie verhindere ich dann, dass die Variable nach Verlassen der XML und erneutem Aufruf beim Laden nicht wieder denselben Variablenwert erhält?

    Michael

    Edited once, last by mstoss (June 8, 2010 at 3:41 PM).

  • Hallo Michael,

    das würde natürlich nur innerhalb einer Tour funktionieren können, bei einem einzelnen Panorama sieht es schlecht aus, da hast Du recht. Sobald man die Seite erneut lädt würde der Wert wieder überschrieben werden. Ich denke, dass man diesen Wert z.B. nur per PHP speichern und dann beim erneuten Aufruf dem Flash übergeben kann. Da Du mich aber auf die Idee gebracht hast, dass einmal in meiner aktuellen Tour mit dem Startbild umzusetzen, finde ich vielleicht noch eine andere Lösung.

    Gruß
    Karsten

  • das würde natürlich nur innerhalb einer Tour funktionieren können, bei einem einzelnen Panorama sieht es schlecht aus, da hast Du recht.

    Ich krieg einen Knoten im Kopf, dabei bin ich gar nicht so unbeleckt, was skripten angeht... *unsure* Ich will ja genau mit einer Tour arbeiten. Dabei war ich davon ausgegangen, dass man den Beispielcode nutzen könnte. Der lautet, nur zur Erinnerung:

    Dieser Code bewirkt aber für sich genommen nur ein Aufscheinen des Introbildes nach onloadcomplete - jedes Mal, wenn ich dieses Pano ansteuere, also auch wenn ich auf dem "Rückweg" bei einer Tour wieder am Startpano vorbeikomme. Dein Vorschlag heißt also sowas in der Art von:

    startpano.xml:

    set(IchBinDasStartpanoBeimErstenStart,true);

    if (IchBinDasStartpanoBeimErstenStart == true,
    action(zeigeIntroImage);
    set(IchBinDasStartpanoBeimErstenStart,false);
    )

    Aber wenn ich dann von der "folgepano.xml" mit onclick wieder die startpano.xml aufrufe, hab ich doch wieder den set(IchBinDasStartpanoBeimErstenStart,true); vor der Nase und das Introbild poppt wieder auf!

    Irgendwo habe ich da einen Denkfehler.

    Michael

  • Moin Michael,

    ich muß Dich jetzt nochmal hierher "entführen", die Tour kennst Du ja schon.
    Beim ersten Start öffnet sich die Tour in einer Floatbox mit der aus der Anwendung übergebenen Sprache und zeigt das Hilfefenster.
    Schließe ich dieses jetzt, wähle ein anderes Panorama aus und gehe im Menü wieder auf dieses Panorama (Eingang) zurück, wird das Hilfefenster nicht mehr geöffnet. So soll es sein, nicht, dass wir aneinander vorbeireden?
    Ein ähnliches Problem ist die Umschaltung der Sprachen, selbige ja auch beim Wechseln zu einem anderen Panorama nicht wieder auf die übergebene Sprache zurückgeändert werden darf, außer man macht dieses über die Hilfeseite.
    Die Abfrage, ob ich die Sprache aus der HTMl übergeben habe oder im Panorama geändert habe, ist nicht im Startpanorama, sondern in einer XML, die in alle Panoramen inkludiert wurde.
    Leider habe ich die Sourcen gerade nicht verfügbar, da schaue ich dann heute Abend nochmal genau nach, wie ich das gemacht habe und versuche mal ein für Dich/uns passendes Beispiel zu erstellen.

    Gruß
    Karsten

    P.S. Da fällt mir gerade noch ein Fehler in meiner Tour mit dem Hilfefenster auf, den ich mir durch die Floatbox eingehandelt habe. Also Floatbox und krpano-Tour bringen mich auch noch ins "Grab" *blink*

  • Beim ersten Start öffnet sich die Tour in einer Floatbox mit der aus der Anwendung übergebenen Sprache und zeigt das Hilfefenster.
    Schließe ich dieses jetzt, wähle ein anderes Panorama aus und gehe im Menü wieder auf dieses Panorama (Eingang) zurück, wird das Hilfefenster nicht mehr geöffnet. So soll es sein, nicht, dass wir aneinander vorbeireden?

    Jau, genau das.

  • Soooo, ich versuche es nochmal und vergesse hoffentlich nichts *wink*
    Ich habe es bei mir in die Sprachumschaltung integriert, versuche es aber mal, herauszulösen.

    1. Ergänze Deine aufrufende HTMl um eine Variable z.B.

    Code
    swf.addVariable("startPano", "start");


    2. Erstelle eine XML, die Du in alle anderen XMLs includierst bzw. nutze eine, die schon da ist und erstelle Dir darin z.B. eine Action:

    Code
    <action name="setupStart">
    if(startPano == start,set(firstStart,true););
    if(firstStart == true,action(showIntroImage););
    </action>


    Rufe die Action beim Start auf:

    Code
    <krpano version="1.0.8" onstart="setupStart">


    3. Ergänze Dein IntroImage um visible="false" und enabled="false"
    4. Ergänze die Start.xml mit dem IntroImage um folgende Action:

    Code
    <action name="showIntroImage">
    set(plugin[introImage].enabled, true);
    set(plugin[introImage].visible, true);
    </action>

    Das Bild wird also explitzit beim Starten geladen und nicht von vornherein.
    Da der Parameter firstStart beim Wechseln der Panoramen erfahrungsgemäß "null" wird, da der Parameter startPano nicht übergeben wurde, wird das Bild dann auch nicht mehr angezeigt, wenn Du die Seite aus einem anderen Panorama aufrufst.
    Den firstStart-Parameter kannst Du also auch woanders nutzen und mit der Action showIntroImage Dein Bild von überall aus aufrufen, wenn Du diese entsprechend zentral platzierst.
    Ich denke, das sollte so passen. Bei mir klappt es so jedenfalls.

    Viel Erfolg und Gruß
    Karsten

  • Klasse Karsten, das hört sich logisch an. Der Schlüssel ist die Schaltung über die HTML, Danke!!!

    Michael

  • Es ist verrückt:

    Code
    <action name="setupStart">
    		if	(startPano == start,set(firstStart,true);
    			trace(startPano);
    			);
    		if(firstStart == true,action(showIntroImage););
    
    
    	</action>

    ergibt immer wieder "start" als Wert! Ich baue heute abend mal was zusammen und schieb es komplett hoch.

    Michael

  • Hallo Karsten,

    ich habs jetzt unter Verwendung deiner Grundidee soweit, dass ich mit etwas weniger Aufwand als bei deinem Code dem gewünschten Ergebnis komme:

    HTML:

    Code
    swf.addVariable("startPano", "start");

    XML Startpanorama:

    Code
    <action name="setupStart">
    	if(startPano == start,action(showintroimage););
    	</action>

    bei den Hotspot-Links:

    Code
    onclick="loadpano(anschlusspanorama.xml,null,MERGE,BLEND(1));set(startPano,NULL);"


    XML Anschlusspanorama:

    ohne spezifischen Code

    XML include für die Controllerleiste

    ... äh... warum der letzte Teil nochmal in ein if gepackt ist, hab ich vergessen.

    Ich weiß jetzt nicht, ob das die geschickteste Variante ist, weil man bei jedem vom Startpano ausgehenden Link nochmal die Variable auf NULL setzen muss, aber dafür hat man sonst keinen Extracode. Dass startPano automatisch bei Verlassen des Startpanos auf NULL gesetzt würde, kann ich nicht sehen.

    Also nochmals herzlichen Dank für deine Hilfe, besonders das mit der HTML-Datei war entscheidend.

    Michael

  • Hello again,

    looks like this person had the same problem that I am experiencing but as you can see that the replies are ll in German which unfortunately I don't understand. Can someone tell me which out of all the replies is the correct answer?

    Thanks

Participate now!

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