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.

  • "Pixelschupse" started this thread

Posts: 48

Location: Bielefeld

Occupation: Fotograf

  • Send private message

1

Sunday, March 18th 2012, 5:03am

Weil ich langsam aber sicher Wahnsinig werde

Hallo,

es ist so, ich versuche seit etwa 2 Wochen für eine Produktion die Kleinigkeiten fertigzustellen, aber wie der Titel schon bechreibt, ich werde langsam wahnsinnig!

Es geht um folgendes:

virtuelle Tour mit mehreren Hotspots über die eine Shadowbox eingeblendet wird (die iFrame Content anzeigen sollen), soweit so gut, die Box wird auch eingeblendet, aber!
Der Kunde wünscht nun auch Fullscreen, war eigentlich gar nicht beabsichtigt, aber gut, soll er ja haben wenn er das unbedingt will.

Wenn die Box online via Browser eingeblendet wird via "switsch(Fullscreen)" ist dann die Shadowbox nicht da, geht man aber wieder zurück in die normale Browseransicht, ist die Shadowbox auf einmal da (evtl. liegt es an den Anpassungen der Shadowbox, ich habe keine Ahnung wieso in anderen Beispielen diese da zu sehen ist wo sie hin sollte in FS) ?!?

Nun, nachdem ich daran scheinbar nichts ändern kann, kam ich auf die Idee, die Hotspots die ja die Shadowbox aufrufen sollen, einfach im Fullscreenmodus auszubelnden.

Nur, wie *confused*

Setze ich einen Hotspot auf visible= false ist das ja nicht das Problem, ich glaub dafür brauche ich eher sowas wie:

if Fullscreen true = Hotspot visible false

so zumindest meine Idee, hat jemand dafür einen Code ?

Dieses ganze mit Shadow Thick und haste nicht gesehen box macht mich verrückt, inzwischen habe ich bestimmt 10 Scripts probiert und ich lande immer wieder bei der Shadowbox, weil diese alle anderen iFrame Inahlte anzeigt, die meissten anderen tun es irgendwie mal ja mal nein... Fragt mich nicht warum, aber es ist echt ein Krampf mit diesem Kram!

Die Shadowbox hat für mich den Nachteil das diese sich nur sehr unfein anpassen lässt, die Thickbox braucht ewig um mal nen Inhalt zu laden (warum auch immer und fällt deswegen weg) und die anderen kannst komplett vergessen für meine Zwecke!

Ich würde mich riesig fruen wenn mir jemand LÖSUNGEN bieten kann und nicht nur nach einem Beispiel fragt, denn das gibt es momentan nicht...

2

Sunday, March 18th 2012, 2:00pm

Hi Du,

ich hab zwar keinen Plan von der Shadowbox, doch das mit den Hotspots lässt sich leicht bewerkstelligen:
Folgender Code ruft beim starten und/oder verlassen des Fullscreen-Modus eine action auf:
<events onenterfullscreen="action(enterfs)"
onexitfullscreen="action(leavefs)"
/>


Jetzt brauchst Du nur noch die entsprechenden actions zu schreiben, welche die Hotspots verbergen oder zeigen:
<action name="enterfs">
set(hotspot[hotspot01].visible,false);
set(hotspot[hotspot02].visible,false);
</action>

<action name="leavefs">
set(hotspot[hotspot01].visible,true);
set(hotspot[hotspot02].visible,true);
</action>


Sollte sowohl theoretisch als auch praktisch problemlos funktionieren *smile*

Gruß
Nupsi

  • "Pixelschupse" started this thread

Posts: 48

Location: Bielefeld

Occupation: Fotograf

  • Send private message

3

Sunday, March 18th 2012, 6:08pm

Hi,

danke, der Gedanke ist schon gut, aber das ist nicht was ich suche, was ich da brauche ist eine selbstständig erkennde Funktion die praktisch einfach beim enterfullscreen bestimmte spots ausblendet und dann beim verlassen diese automatisch wieder einschaltet, mit der Aktion die du geschrieben hast müsste ich für jeden Spot einzeln eine aktion machen die bei onklick bestimmte spots abschaltet und dann bei erneutem Klick auf den Button dann wieder anschaltet, das ist aber leider aufgrund der Menge ausgeschlossen, weil die Verknüpfungen auch über mehrere XML verteilt sind.

Wenn ich die Definition von einem if = true richtig verstehe dann wäre das die selbstständige Erkennung und auch Überwachung eines Zustands oder ?

Wie müsste das aussehen ?

if=fullscreen=true - set - hotspot = off oder so ?

Jemand eine Idee ?

Grüße

inno

Trainee

Posts: 78

Location: Wyk auf Föhr

  • Send private message

4

Sunday, March 18th 2012, 8:01pm

Quoted

<events onenterfullscreen="action(enterfs)"

onexitfullscreen="action(leavefs)"

Das läuft doch automatisch!

Wenn in den Vollbildschirm gewechselt wird werden alle nicht gewünschte Hotspots abgeschaltet und bei verlassen des Vollbildschirms wieder eingeschaltet... Event eben...

  • "Pixelschupse" started this thread

Posts: 48

Location: Bielefeld

Occupation: Fotograf

  • Send private message

5

Monday, March 19th 2012, 12:23am

Sorry, ich hatte völlig überlesen das es ja um ein Event geht, klar, das funktioniert und ist genau das was ich machen musste!

Vielen Dank!

6

Monday, March 19th 2012, 10:08am

Freut mich, wenn es geholfen hat *squint*

  • "Pixelschupse" started this thread

Posts: 48

Location: Bielefeld

Occupation: Fotograf

  • Send private message

7

Tuesday, March 20th 2012, 3:51am

Gibt noch ein Proble,

ich habe es so gemacht wie beschrieben wurde, aber wenn ich jetzt in Fullscreen das Panorama wechsel, und dann wieder in das Panorama reinkomme wo man ja die Spots nicht sehen soll, dann sind sie auf einmal wieder da !

Öffne ich das Panorama und klicke Fullscreen, wird in dem Panorama das ausgeblendet was ich nicht sehen will, verlasse ich FS, ist dieses dann wieder da, soweit ok.

Öffne ich das Panorama und wechsel dann in der FS Ansicht das Pano zur nächsten Szene, ist auf einmal das was ich nicht sehen will dennoch da.

Ich hab auch folgendes probiert, ich hab das Pano geöffnet, bin in normalansicht in ein anderes Pano und habe dann FS geklickt, dann ist auch da das was nicht da sein soll weg.

Muss ich da wohl sowas wie Keep=True in das <events onenterfullscreen="action(enterfs)" onexitfullscreen="action(leavefs)" /> einsetzen ?

Ideen ?

This post has been edited 1 times, last edit by "Pixelschupse" (Mar 20th 2012, 4:37am)


8

Tuesday, March 20th 2012, 8:42am

hmm....ist natürlich klar, da die ausgeblendeten Hotspots nach dem verlassen des Panos gelöscht und beim erneuten betreten wiederhergestellt werden und somit natürlich nicht mehr wissen das sie invisible sein sollen. Hatte ich nicht bedacht *whistling*

Eine Möglichkeit wäre natürlich die ganzen Hotspots auf keep="true" zu setzen, doch das wäre wohl eine heidenarbeit und ressourcenverschwendung, da alle permanent im Speicher blieben. Ich an Deiner Stelle würde mir da eine einfache Abfrage basteln, welche bei jedem Start eines Panoramas aufgerufen wird und checkt ob der Fullscreenmode aktiv ist, oder nicht, und wenn ja, die action "enterfs" (siehe weiter oben) einfach erneut startet. Könnte in etwa so ausschauen:

Eintrag im onstart-tag jeder Szene
<scene name="panorama1" title="Nupsis Hotline" onstart="action(enterfs)" >

Änderung an der action "enterfs"
<action name="enterfs">
if(fullscreen == true,
set(hotspot[hotspot01].visible,false);
set(hotspot[hotspot02].visible,false);
);
</action>


Du kannst die Abfrage natürlich auch gleich in den onstart-tag einbauen:
onstart="if(fullscreen == true,action(enterfs))"
Dann bleibt die action "enterfs" jedoch wie sie war!

Ist alles jedenfalls nicht sonderlich kompliziert und eindeutig lösbar *smile* Vielleicht reichen Dir die Beispiele als Lösungsinspiration ja auch schon ;-)

EDIT: Ach ja, und denke unbedingt daran den auszublendenden Hotspots eindeutige und vor allem einmalige Namen zu geben! Denn sonst wären Hotspots in anderen Panos betroffen, die gar nicht betroffen sein sollen *attention* Und falls es ein paar Dutzend sind, erstelle Dir eine einfach Zählschleife.

Gruß
Nupsi

  • "Pixelschupse" started this thread

Posts: 48

Location: Bielefeld

Occupation: Fotograf

  • Send private message

9

Tuesday, March 20th 2012, 4:46pm

Hi,

mir war das dann auch klar das ich da sowas wie das IF usw. was ich anfangs anfragte bräuchte.
Aber, nun gelöst und zwar mittels veränderung des Eintrags im "Start jeder Scene", dort wie Nupsi beschrieb eben mit der Ergänzung

<action name="startscene">
action(enterfs);
action(activatespot,scene1, 40);
</action>

und dann eben noch dem Umbau der

action "enterfs" mit if(fullscreen == true, ---> dazwischen set(hotspot[name].visble,flase; --->
und am ende eben );

Das funktioniert wunderbar und vor allem auch zuverlässig, ich bedanke mich ganz herzlich für die Hilfestellung!

Grüße

10

Tuesday, March 20th 2012, 9:39pm

Hi,
Wenn die Box online via Browser eingeblendet wird via "switsch(Fullscreen)" ist dann die Shadowbox nicht da, geht man aber wieder zurück in die normale Browseransicht, ist die Shadowbox auf einmal da (evtl. liegt es an den Anpassungen der Shadowbox, ich habe keine Ahnung wieso in anderen Beispielen diese da zu sehen ist wo sie hin sollte in FS) ?!?
der Fullscreen Modus ist eine Eigenschaft des Flashplayers - wenn dieser aktiv ist, wird nur der Flashplayer selbst angezeigt, sämtliche HTML Elemente des Browsers, welche im Fenster-Modus den Flashplayer überlagern können, werden deshalb dort nicht angezeigt,

Schöne Grüße,
Klaus

  • "Pixelschupse" started this thread

Posts: 48

Location: Bielefeld

Occupation: Fotograf

  • Send private message

11

Wednesday, March 21st 2012, 1:28am

Danke Klaus, zwischenzeitlich habe ich nach einigen Recherchen und auch einem Hinweis von Iceman_FX diese Information erhalten.

Es wäre sicher sehr schön gewesen eben auch im FS Modus solche HTML Inhalte einblenden zu können wie eben solch eine Box.

Solange es aber halt keine gibt, kann man aber auch ohne weiteres diesen Kompromiss eingehen, zumindest kann ich das.

Einige können sicher nicht darauf verzichten in FS eine Box mit iFrame Inhalt einzubinden bzw. einblenden zu können,
vielleicht ist ja da die Möglichkeit gegeben ein entsprechendes PlugIn zu zaubern ?

12

Wednesday, March 21st 2012, 9:37pm

Hi,
vielleicht ist ja da die Möglichkeit gegeben ein entsprechendes PlugIn zu zaubern ?
ein echtes Browser <iframe> in einem Flash Plugin ist technisch leider einfach nicht möglich...

Schöne Grüße,
Klaus