Sie sind nicht angemeldet.

Der Flo

Mega-User

  • »Der Flo« ist der Autor dieses Themas

Beiträge: 481

Wohnort: Hamburg

Beruf: Fotograf

  • Nachricht senden

1

Mittwoch, 15. Oktober 2008, 17:33

krpano und onhover

Hallo, ich habe ein Problemchen mit krpano. Ich möchte eine Tour mit folgender Navigation bauen: In der Tour befindet sich unten rechts eine Navimap, von der aus die verschiedenen Panoramen zu klicken sind Ich möche, das wenn man mit der Maus über einem Hotspot der Navimap ist, das dann mittig im Panorama ein Foto (jpg oder gif mit Preview auf das Panorama) erscheint - und wieder verschwindet, wenn man mit der Maus vom Hotspot runtergeht. Ich kopier hier mal Code hin, mit dem ich getestet habe. Bloß mit diesem Code verschwindet das Bild erst, wenn ich auf dieses draufklicke. So soll es nicht sein. Hat wer ne Ahnung, wie ich den onhover - Befehl oder welchen auch immer setzen muß? ....... ..... ......

2

Mittwoch, 15. Oktober 2008, 19:49

Hallo Floh, hört sich so an als ob Dir mit der Kombination meiner Krpano Tour und der Krpano Foto Galerie geholfen wär. Wenn ja, dann schicke ich dir die html und xml von Beiden zu. Gruß Wilfried Meine Seite

Der Flo

Mega-User

  • »Der Flo« ist der Autor dieses Themas

Beiträge: 481

Wohnort: Hamburg

Beruf: Fotograf

  • Nachricht senden

3

Mittwoch, 15. Oktober 2008, 23:09

Vielen Dank für das Angebot, aber soweit ich das sehe, nutzen beide nicht die von mir gewollte Funktion, das ein Foto innerhalb des PAnoramas angezeigt wird, wenn und solange jemand mit der Maus über dem Hotspot ist. Oder habe ich da was übersehen? Gruß Flo

4

Mittwoch, 15. Oktober 2008, 23:56

Hi,
ich versuch das kurz mal Schritt für Schritt zu erklären:

im onOver-Event (das wird einmal aufgerufen wenn die Maus über den hotspot/das plugin fährt) wird das bild "angezeigt"
und
im onOut-Event (das wird aufgerufen wenn die Maus den"hotspot/das plugin wieder verlässt) wird das bild wieder versteckt,

das onHOver-Event wird im Interval ständig aufgerufen, das ist hier falsch,
dieses Event für eigentlich nur für die showtext() Funktion benötigit.


und ein Bild jetzt sanft ein- und auszublenden verwendet man am besten die tween-funktion
(siehe hier - http://krpano.com/docu/actions/#tween)

z.B. - der Aufruf um etwas einzublenden:

  tween(plugin[foto].alpha,1,0.5);

d.h.
  der alpha wert (Sichtbarkeit) des plugins "foto" wird in 0.5 Sekunden auf 1 erhöht (sollte vorher natürlich auf 0 sein)

zum Ausblenden das Gegenteil - den alpha Wert auf 0 verringern:

  tween(plugin[foto].alpha,0,0.5);


Jetzt gibt es noch etwas weiters:

wenn das "foto" durch alpha=0 zwar unsichtbar ist, empfängt es aber weiterhin Maus-Befehle
und wird auch weiterhin "gezeichnet" (was auch Performance kostet ;-)).

Deshalb sollte das "foto" mit visible=false auch wirklich "unsichtbar" gemacht werden.

Bei der tween-Funktion kann mit dem 5. Parameter eine (oder mehrere) weiter Aktion,
angegeben werden, die ausgeführt wird, wenn der Zielwert erreicht ist.

z.B. - ausblenden und unsichtbar setzen:

  onout="tween(plugin[foto].alpha,0,0.5,easeoutquad,set(plugin[foto].visible,false));"

  Erklärung:

  1. parameter - plugin[foto].alpha                   - der Parameter der verändert werden soll
  2. parameter -                                            - der Zielwert
  3. parameter - 0.5                                         - Zeit in Sekunden für die Änderung
  4. parameter - easeoutquad                           - Verlauf der Änderung
  5. parameter - set(plugin[foto].visible,false)   - "foto" wird unsichtbar gesetzt


Umgekehrt beim Einblenden sollte jetzt visible zuvor auf true gesetzt werden:

z.B. - sichtbar setzen und einblenden:

  onover="set(plugin[foto].visible,true);tween(plugin[foto].alpha,1,0.5);"


Um diesen Code jetzt nicht für jedes einzelne Bild extra schreiben zu müssen,
gibt es die Möglichkeit diesen in actions auszulagern,

z.B:
- die action "fadein" zum einblenden und
- die action "fadeout" zum ausblenden
- %1 ist dabei der 1. Parameter für diese action (siehe den Aufruf weiter unten)

<action name="fadein">
  set(plugin[%1].visible,true);
  tween(plugin[%1].alpha,1,0.5);
</action>

<action name="fadeout">
  tween(plugin[%1].alpha,0,0.5,easeoutquad,set(plugin[%1].visible,false));
</action>

diese "actions" lassen sich jetzt folgendermassen aufrufen:

 onover="action(fadein,foto);"
 onout="action(fadeout,foto);"

das "foto" ist dabei der 1. Parameter (das %1) der actions


hier noch ein komplettes XML-Beispiel zum besseren Verständnis und
zum ausprobieren: (ist auch komplett fertig, ausführbar im Anhang enhalten)

Zitat


<krpano>

    <action name="fadein">
      set(plugin[%1].visible,true);
      tween(plugin[%1].alpha,1,0.5);
    </action>
   
    <action name="fadeout">
      tween(plugin[%1].alpha,0,0.5,easeoutquad,set(plugin[%1].visible,false));
    </action>

    <plugin name="btn1" url="button1.png" origin="bottom" edge="center" y="25" x="-75" width="50" height="50"
          onover="action(fadein,img1);"
          onout="action(fadeout,img1);"
          />
    <plugin name="btn2" url="button2.png" origin="bottom" edge="center" y="25" x="-25" width="50" height="50"
          onover="action(fadein,img2);"
          onout="action(fadeout,img2);"
          />
    <plugin name="btn3" url="button3.png" origin="bottom" edge="center" y="25" x="+25" width="50" height="50"
          onover="action(fadein,img3);"
          onout="action(fadeout,img3);"
          />
    <plugin name="btn4" url="button4.png" origin="bottom" edge="center" y="25" x="+75" width="50" height="50"
          onover="action(fadein,img4);"
          onout="action(fadeout,img4);"
          />
   
    <plugin name="img1" url="image1.jpg" origin="center" alpha="0" visible="false" />
    <plugin name="img2" url="image2.jpg" origin="center" alpha="0" visible="false" />
    <plugin name="img3" url="image3.jpg" origin="center" alpha="0" visible="false" />
    <plugin name="img4" url="image4.jpg" origin="center" alpha="0" visible="false" />
   
</krpano>


ich hoffe das war einigermassen verständlich,
es ist immer etwas schwer das zu erklären ;-))

Schöne Grüße,
Klaus
»krpano coder« hat folgende Datei angehängt:
  • fadeexample.zip (246,38 kB - 187 mal heruntergeladen - zuletzt: 21. April 2025, 21:15)

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »krpano coder« (16. Oktober 2008, 00:02)


5

Donnerstag, 16. Oktober 2008, 02:10

@Klaus

Wow! Auch wenn ich das im Moment selbst nicht brauche: ich bin immer wieder baff, was man mit krpano alles anstellen kann.
Auch bewundere ich deine Geduld, solch komplizierte Dinge verständlich zu erklären.
Ich könnte mir jetzt (nach genauem Durchlesen) durchaus vorstellen, die Anleitung auch umzusetzen.

Was mir allerdings auch klar ist: von alleine würde ich so etwas wohl nie schaffen (und du weißt, ich habe mich in manche Zusammenhänge durchaus schon eingefummelt)!
'Tween' z.b. klingt für mich eher nach Zeitschrift, als nach einer Möglichkeit, ein Foto ein- und auszubelenden.   ;-)
Die Möglichkeiten der 'Steuerung' von krpano zu verstehen und voll auszuschöpfen, kommt in meinen Augen der Erlernung einer Programmiersprache nahe.
[Und das musste ich vor ca. 25 Jahren das letzte mal tun ;-) ].

Ich denke, daß ein GUI wohl nie in der Lage sein wird, alle Details und Einstellmöglichkieten (Bells and Whistles) zu erfassen (und in eine XML zu schreiben).
Aber-, wird man wohl mit dem zukünftigen GUI auch ähnlich 'schicke Sachen' machen können oder wird es wohl eher die 'Basics' umsetzen?

Wie (wahrscheinlich) viele andere setze ich große Hoffnung in das GUI ......
Das wirkliche Potential von krpano werde ich sonst wohl nie ausschöpfen können. :-(

Salu2,
Klaus

6

Donnerstag, 16. Oktober 2008, 11:58

Eine tolle Idee, die ich wohl ebenfalls nutzen werde. Ich möchte mich an dieser Stelle mal herzlich bei Klaus bedanken für dieses tolle Stück Software und den unermüdlichen Support dafür. Das waren die besten 100 € die ich in den letzten Wochen investiert habe :-) .

Wenn man sich etwas mit XML auskennt kommt man mit dem krpano-Code eigentlich sehr gut klar. Ich liebe die Möglichkeiten, die dieser Player bietet und bis auf die grafischen Hotspots die ja auch bald kommen werden bin ich im Moment wunschlos glücklich. Natürlich freue ich mich trotzdem sehr auf die neuen Funktionen an denen du arbeitest.

7

Donnerstag, 16. Oktober 2008, 15:21

Hallo Klaus

Diese Funktion (fadein/fadeout) wäre genau mein nächstes Anliegen gewesen.
Danke für die XML.

Ein Sache hätte ich aber in diesem Zusammenhang noch...

Zitat


<plugin name="down"  url="navigation/unten.png"     origin="bottom" edge="center" y="40" x="-45"  blendmode="overlay" ondown="set(movevectory,+1);"  onup="set(movevectory,0);" onover="set(plugin[down].blendmode,hardlight);"  onout="set(plugin[down].blendmode,overlay);"  />

<plugin name="info"    url="navigation/info.png"     origin="bottom" edge="center" y="40" x="-300" blendmode="overlay" ondown="set(movevectorz,-1);"  onup="set(movevectorz,0);" onover="set(plugin[info].blendmode,hardlight);" onout="set(plugin[info].blendmode,overlay);" onover="action(fadein,img1);" onout="action(fadeout,img1);" />
 


Die erste Zeile vom Code nutze ich für die Darstellung der Navi-Buttons. In der Normal-Ansicht sind sie etwas abgelendet und beim Überfahren mit der Maus blenden sie auf.

Die zweite Zeile ist für den Button, der das "Info" anzeigt.
Beim Überfahren wird dank der o.g. Funktion das Info-Bild ein- und ausgeblendet.

Allerdings bleibt der Button immer abgeblendet.

Liegt das daran, das onover/onout doppelt vorhanden sind?
Falls ja, wie bekommt man diesen Button-Effekt trotzdem hin bez. ist der Code auch anders machbar?
Den XML-Code hatte ich mir aus der "Button-Example" kopiert.

Hier dazu ein Link mit dem "Button Problem"

2. Was macht die Funktion: set(movevectorz,-1) und die Abwandlungen.

Dazu habe ich in der Doku nichts gefunden.


Gruß
Ralf
... rettet den Plural von Panorama > Panoramen

panoramen-360.de

8

Donnerstag, 16. Oktober 2008, 15:41

Ich hab auch noch eine Frage zum Ladevorgang der Grafiken die in deinem Beispiel per plugin eingefügt werden. Diese werden ja beim Start des Panoramas geladen. Aber gibt es eine bestimmte Reihenfolge wie der Player die Daten lädt oder startet dieser sogar erst wenn alle Plugin-Grafiken komplett geladen wurden?

Dann müsste ich mir überlegen ob 17 Grafiken so eine gute Idee sind da ja doch was zusammen kommt und User mit geringerer Bandbreite ausbremsen würde.

9

Donnerstag, 16. Oktober 2008, 15:49

@Blockbuster
Versuch doch mal die Funktion onhover= für das aufblenden der Bilder das sollte auch funktionieren. Denn dein Problem wird wie du schon sagst durch die doppelten Befehle ausgelöst.

Edit: Jetzt wo ich das nochmal durchdenke würde das wohl nur gehen wenn man ein Plugin (Grafik) über das andere legt bei hover, da der Zustand ja sonst nicht zurückgestellt wird.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Cloud« (16. Oktober 2008, 16:03)


Der Flo

Mega-User

  • »Der Flo« ist der Autor dieses Themas

Beiträge: 481

Wohnort: Hamburg

Beruf: Fotograf

  • Nachricht senden

10

Donnerstag, 16. Oktober 2008, 15:53

cloud die Reihenfolge wird über "Zorder" geregelt.

11

Donnerstag, 16. Oktober 2008, 16:13

@ Flo

Wenn ich Zorder richig verstehe ist das die Rangfolge der Überblendungen, sprich welches Plugin im Vordergrund ist und nicht die Reihenfolge wie die Plugins geladen werden.

Der Flo

Mega-User

  • »Der Flo« ist der Autor dieses Themas

Beiträge: 481

Wohnort: Hamburg

Beruf: Fotograf

  • Nachricht senden

12

Donnerstag, 16. Oktober 2008, 16:33

Oh ich dachte da würde zusammenhängen - aber sicher bin ich mir nicht...

13

Donnerstag, 16. Oktober 2008, 18:35

@Klaus

Wow! Auch wenn ich das im Moment selbst nicht brauche: ich bin immer wieder baff, was man mit krpano alles anstellen kann.
Auch bewundere ich deine Geduld, solch komplizierte Dinge verständlich zu erklären.
Ich könnte mir jetzt (nach genauem Durchlesen) durchaus vorstellen, die Anleitung auch umzusetzen.

Was mir allerdings auch klar ist: von alleine würde ich so etwas wohl nie schaffen (und du weißt, ich habe mich in manche Zusammenhänge durchaus schon eingefummelt)!
'Tween' z.b. klingt für mich eher nach Zeitschrift, als nach einer Möglichkeit, ein Foto ein- und auszubelenden.   ;-)
Die Möglichkeiten der 'Steuerung' von krpano zu verstehen und voll auszuschöpfen, kommt in meinen Augen der Erlernung einer Programmiersprache nahe.
[Und das musste ich vor ca. 25 Jahren das letzte mal tun ;-) ].

Ich denke, daß ein GUI wohl nie in der Lage sein wird, alle Details und Einstellmöglichkieten (Bells and Whistles) zu erfassen (und in eine XML zu schreiben).
Aber-, wird man wohl mit dem zukünftigen GUI auch ähnlich 'schicke Sachen' machen können oder wird es wohl eher die 'Basics' umsetzen?

Wie (wahrscheinlich) viele andere setze ich große Hoffnung in das GUI ......
Das wirkliche Potential von krpano werde ich sonst wohl nie ausschöpfen können. :-(

Salu2,
Klaus


Hi,

die Bezeichnung "tween" kommt aus der Flash/Actionscript Welt, die hab ich einfach nur übernommen,
damit lassen sich eben alle möglichen Sachen in einem Zeitlichen Verlauf verändern,
ist wie eine kleine, sehr einfache Programmiersprache, richtig ;-)

wie das in der GUI dann genau aussehen wird, kann ich jetzt noch nicht genau sagen,
aber man sollte dann schon auch solche Sachen damit einfach umsetzen können,
z.b. indem auch vordefinierte Aktionen auswählt,
zuerst muss allerdings noch intern alles dafür fertig werden, speziell in der nächsten Version
(1.0.7) hat sich dafür sehr viel getan.

14

Donnerstag, 16. Oktober 2008, 18:45

Ich hab auch noch eine Frage zum Ladevorgang der Grafiken die in deinem Beispiel per plugin eingefügt werden. Diese werden ja beim Start des Panoramas geladen. Aber gibt es eine bestimmte Reihenfolge wie der Player die Daten lädt oder startet dieser sogar erst wenn alle Plugin-Grafiken komplett geladen wurden?

Dann müsste ich mir überlegen ob 17 Grafiken so eine gute Idee sind da ja doch was zusammen kommt und User mit geringerer Bandbreite ausbremsen würde.


Hi, und danke ;-)

Es werden alle "plugin"-Grafiken gleichzeitig zum Laden dem Flashplayer/Browser übergeben,
die Reihenfolge bestimmt dann dieser, das ist wie mit Grafiken auf einer Website.

Die Panoramabilder selber werden folgendermassen geladen - zuerst das Previewpanorama (falls vorhanden)
und danach je nach aktueller Ansicht, die Panoramabilder (alles parallel zu den Plugin-grafiken)

15

Donnerstag, 16. Oktober 2008, 18:57

Hallo Klaus

Diese Funktion (fadein/fadeout) wäre genau mein nächstes Anliegen gewesen.
Danke für die XML.

Ein Sache hätte ich aber in diesem Zusammenhang noch...

Zitat


<plugin name="down"  url="navigation/unten.png"     origin="bottom" edge="center" y="40" x="-45"  blendmode="overlay" ondown="set(movevectory,+1);"  onup="set(movevectory,0);" onover="set(plugin[down].blendmode,hardlight);"  onout="set(plugin[down].blendmode,overlay);"  />

<plugin name="info"    url="navigation/info.png"     origin="bottom" edge="center" y="40" x="-300" blendmode="overlay" ondown="set(movevectorz,-1);"  onup="set(movevectorz,0);" onover="set(plugin[info].blendmode,hardlight);" onout="set(plugin[info].blendmode,overlay);" onover="action(fadein,img1);" onout="action(fadeout,img1);" />
 


Die erste Zeile vom Code nutze ich für die Darstellung der Navi-Buttons. In der Normal-Ansicht sind sie etwas abgelendet und beim Überfahren mit der Maus blenden sie auf.

Die zweite Zeile ist für den Button, der das "Info" anzeigt.
Beim Überfahren wird dank der o.g. Funktion das Info-Bild ein- und ausgeblendet.

Allerdings bleibt der Button immer abgeblendet.

Liegt das daran, das onover/onout doppelt vorhanden sind?
Falls ja, wie bekommt man diesen Button-Effekt trotzdem hin bez. ist der Code auch anders machbar?
Den XML-Code hatte ich mir aus der "Button-Example" kopiert.

Hier dazu ein Link mit dem "Button Problem"

2. Was macht die Funktion: set(movevectorz,-1) und die Abwandlungen.

Dazu habe ich in der Doku nichts gefunden.


Gruß
Ralf


Hi, ja, doppelt darf kein Wert vorhanden sein, wenn doch wird einer der Werte genommen (welcher ist undefiniert),

wenn man die XML Datei direkt im Browser öffnen, gibt der auch einen Fehler aus - "Doppeltes Attribut",
auch ein Hinweis, das etwas nicht stimmt ;-)
siehe:
  http://wp.panoramen-360.de/wp-content/Pa…/allgemeine.xml

wenn 2 oder mehr Funktionen in einem Event ausgeführt werden, diese einfach durch ';' trennen,

z.b.:

  onout="set(plugin[info].blendmode,overlay);action(fadeout,img1);"

movevectorx - ist der Bewegungsvektor für die Drehnung nach links(-)/rechts(+)
movevectory - ist der Bewegungsvektor für die Drehnung nach oben(-)/unten(+)
movevectorz - ist der Bewegungsvektor für das Zoomen

solange diese gesetzt sind (Wert ungleich 0) erfolgt eine Bewegung,
der Wert bestimmt dabei auch die Geschwindigkeit,

diese Variablen bekommen in der nächsten Version noch bessere Namen ;-)
(die alten funktionieren dann natürlich weiterhin) werden werden dann
auch ausführlicher dokumentiert ;-)

Schöne Grüße,
Klaus

16

Donnerstag, 16. Oktober 2008, 21:08

GANZ GANZ GROßES LOB AN KLAUS

Ich muß auch einmal ein Lob für Klaus und seinen Krpano aussprechen.
Auch für seinen, man kommt nicht umhin zu sagen: Premium Support!
Wenn ich an die anfänglichen Diskussionen denke, dass 150.- viel zu viel seien,
so muß ich heute sagen die 90.- eher zu wenig sind, für das was man von Klaus
an Support bekommt, vor allem wie schnell er reagiert.
Will damit nicht sagen du mußt die Preise erhöhen, aber wenn wir uns überlegen,
wieviel Zeit er allein bei einer einzelnen Frage investiert, so wären selbst die 150.- ok.

Also nocheinmal vielen Dank Meister ;-)

Gruß Mario

p.s. natürlich auch ein Lob an die anderen Leute hier, allen voran mhc1 mit
2,5 Beiträgen täglich und das schon seit Jahren, beachtlich!

17

Donnerstag, 16. Oktober 2008, 21:19

Ah, da bin ich schon mal schlauer. Vielen Dank für die prompte Antwort :-) .

18

Freitag, 17. Oktober 2008, 16:11

onout="set(plugin[info].blendmode,overlay);action(fadeout,img1);"


Hallo Klaus

Das klappt ja prima.

Vielen Dank für den Support.

Gruß
Ralf
... rettet den Plural von Panorama > Panoramen

panoramen-360.de