Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Panorama Community. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Mittwoch, 13. Februar 2013, 15:24

Von einer Scene einer .xml in eine bestimmte andere scene einer anderen .xml wechseln?

Hallo.

Bislang besteht meine Tour nur aus einer .xml Datei.

Nun muss ich aber von einem "Hotspot" der einen .xml Datei in eine bestimmte Scene einer anderen .xml Datei wechseln.
Bislang sieht es ja so aus -->

$this->cacheCode('[php]','<hotspot name="spot1" style="skin_hotspotstyle" ath="-123.763" atv="-0.740" linkedscene="scene_kirche" onhover="showtext(kirche,tooltip);"/>')

Doch wie gestalltet sich der Pfad wenn ich in eine andere xml wecheln will??


Danke

Tobi

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tourer« (14. Februar 2013, 14:47)


toosten

Fortgeschrittener

Beiträge: 92

Wohnort: Berlin

Beruf: freier Softwareentwickler ( krpano, HTML/JS, PHP, C++, JSP, Java )

  • Private Nachricht senden

2

Mittwoch, 13. Februar 2013, 16:03

http://krpano.com/docu/actions/#loadpano

$this->cacheCode('[php]','
loadpano(pano2.xml);
loadpano(pano2.xml, null, MERGE, BLEND(1));
loadscene(scene1);
loadscene(scene1, null, MERGE, BLEND(1));
loadxml('<krpano><image><sphere url="pano.jpg"/></image></krpano>');
loadxml(get(data[xml].content), null, KEEPALL);
loadpano('%SWFPATH%/pano.xml', null, MERGE, BLEND(2));
loadpano(sphere.xml, image.hfov=1.0&view.limitview=fullrange);
')

%FIRSTXML% macht sich als Anker für relative Pfade ganz gut, weils unter Flash und HTML5 funktioniert.

3

Mittwoch, 13. Februar 2013, 16:10

für ein pano kannst beliebig viel xml routinen schreiben.
es passiert mir ofters, das wenn ein pano zum ersten mal erröffnet wird , wird etwas anders dargestellt als zum 2 , 3 mal ( aus anderer stelle - zB dimmer funktioniert nur wenn das pano zum ersten mall eröffnet wird , dann nicht mehr.)

zb zum pano XY kanns div XML routine schreiben zB pano xy1 , pano xy2 , pano xy3... usw.

aus beliebieger stelle beliebieges panorama kannst konkrette routine aufrufen durch loadpano.(pano xy1.xml,.., .....).
die bilder bleiben immer gleich.

4

Mittwoch, 13. Februar 2013, 16:19

Hallo Danke. Habe es mal eben so probiert, bekomme aber einen XML Fail

$this->cacheCode('[php]','<hotspot name="spot2" style="skin_hotspotstyle" ath="145.977" atv="-1.642" loadpano(kirche.xml, null, MERGE, BLEND(1)) loadscene(scene_kirche, null, MERGE, BLEND(1)) onhover="showtext(Kirche,tooltip);"/> ')

5

Mittwoch, 13. Februar 2013, 16:44

es gibt bestimmt mehrer möglichkeiten

ich habe so gelöst das für scenepano habe xml ruotine geschrieben als es einständiges panorama wäre.
und dann nur durch loadpano diese scene aufgerufen.

es war sinvoll weil , wenn ich diese szene von anderem panorama als üblich aufgerufen wollte , musst e ich auch andere parameter ändern ( zb musik usw).
es war mir einfacher seprat die scene als panorama aufrufen. xml braucht nicht viel platz , also hat mich nicht weh getan.
die pabnoramabilder befindet sich sowieso auf server , also ausreichend ist , nur xml dazu screiben.

weil das eher ein einzelfall ist , wollte nicht zu lange forschen und eine universalle , elegante lösung suchen.

6

Mittwoch, 13. Februar 2013, 17:12

Hi,
Nun muss ich aber von einem "Hotspot" der einen .xml Datei in eine bestimmte Scene einer anderen .xml Datei wechseln.
  1. Nicht den Default 'skin_hotspotstyle' <style> verwenden - dieser hat bereits ein onclick Event vordefiniert!

  2. Beispielaufruf zum Laden der neuen XML und einer Scene daraus:
    $this->cacheCode('[php]','<hotspot ... onclick="loadpano(newtour.xml, null, IGNOREKEEP); wait(0); loadscene(newscene, null, MERGE, BLEND(1));" ... />')

    Wichtig dabei sind das IGNOREKEEP und das wait(0).
Schöne Grüße,
Klaus

7

Mittwoch, 13. Februar 2013, 18:31

Danke Klaus. Das heißt ich muss einen neuen Hotspot?


Gibt es keine Möglichkeit den schon vorhandenen Hotspot zu verwenden?

8

Donnerstag, 14. Februar 2013, 12:20

Hallo Klaus,
habe jetzt das hier probiert. Leider kommt auch wieder ein XML Error!

$this->cacheCode('[php]','<hotspot name="xml_change"
url="pfeil_hoch.png"
"ath="145.977" atv="-1.642" loadpano(münster.xml, null, MERGE, BLEND(1)) loadscene(scene_muenster_kirchenschiff_sommer2012, null, MERGE, BLEND(1))
onhover="showtext(Münster Kirchenschiff,tooltip);"/> ')

9

Donnerstag, 14. Februar 2013, 12:28

Dann schau Dir bitte genau den Code Snippet an, den Klaus Dir vorgeschlagen hat und versuche zu ergründen, warum Dein Code nicht funktionieren kann.
Du wirst sonst beim nächsten Problem wieder fragen müssen.

Gruß
Karsten

10

Donnerstag, 14. Februar 2013, 14:47

Ok, gefunden und klappt.

Danke

Ähnliche Themen