Alle Hotspots eines bestimmten Typs (bzw.Hotspot-Kategorie) ein- / ausblenden

  • Hallo zusammen

    Ich muss für eine Panoramatour eine Kategorisierung ermöglichen. Wenn der Anwender auf den Menübefehl "Kunst", klickt sollen nur die Hotspots angezeigt werden, welche mit Kunst zu tun haben. Wenn auf "Architektur" geklickt wird, sollen nur die Hotspots angezeigt werden, welche mit Architektur zu tun haben usw.

    Habe mir überlegt, pro Kategorie je ein anders JPG-Symbol zu verwenden (dient nebenbei bei der Erstellung auch zur optischen Kontrolle). Allerdings finde ich keinen Weg, mittels einer Schleife z.B

    • im ersten Schritt alle Hotspot-Symbole auszublenden und ...
    • im zweiten Schritt dann alle Hotspots mit Symbol "kunst.jpg" einzublenden

    Vielleicht gibt es hier auch ganz andere oder gar einfachere Lösungsansätze? Natürlich könnte man die Tour auch ganz einfach aufteilen. Allerdings ist das bei umfangreichen Inhalten fast nicht mehr fehlerfrei zu bewerkstelligen.

    Wer weiss Rat?

    Vielen Dank und einen schönen Sommertag!

    Pepe

  • hi,

    poligonale hs lassen sich so ein- und ausblenden.

    wie und ob das mit kategorien geht ->??

    vg

    markus

  • Hallo Markus

    Vielen Dank. Deinen Ansatz über Polygonal Hotspots ist an sich genau der gesuchte Ansatz. Aber leider bin trotz mehreren Versuchen in den letzten Tagen ich zurzeit weit davon entfernt, eine Schleife erstellen zu können, die dies auf verschiedene Arten von "Hotspot-Grafiken", also getrennt für z.B. kunst.jpg und Architektur, jpg zu durchführt. Offensichtlich fehlen mir dazu die erforderlichen Detailkenntnisse bzw. Befehle und auch die Übersicht darüber. Kurz: Ich bin kläglich gescheitert *sad*

    Vielleicht weiss sonst noch jemand Rat?

    Schöne Grüsse
    Pepe

  • Hi,

    z.B. so:

    erstmal zwei Actions zum ein-/ausblenden eines Hotspots,
    als Parameter muss jeweils der Name oder Index des Hotpots angegeben werden:

    Code
    <action name="hidehotspot">
      tween(hotspot[%1].alpha, 0, 0.5, default, set(hotspot[%1].visible,false) );
    </action>
    
    
    <action name="showhotspot">
      set(hotspot[%1].visible, true);
      tween(hotspot[%1].alpha, 1.0);
    </action>


    dann hier eine Action um alle Hotspots auszublenden:

    Code
    <action name="hideallhotspots">
      if(%1 != NEXT, set(i,0) );
    
    
      hidehotspot( get(hotspot[%i].name) );
    
    
      inc(i);
      if(i LT hotspot.count, hideallhotspots(NEXT) );
    </action>


    um jetzt weiter nur bestimmte Hotspots einblenden zu können,
    müssen diese irgendein Unterscheidungsmerkmal haben,

    der "url" Parameter kann hier nicht verwendet werden, da dieser
    beim Laden unter Umständen verändert/angepasst wurde,

    also z.B. jedem (gewünschtem) Hotspots die Variable "kategorie" mit einem
    bestimmten Wert hinzufügen (z.B. "Kunst"):

    Code
    <hotspot ... kategorie="Kunst" ... />

    dann können mit dieser Action nur die Hotspots mit dieser Kategorie angezeigt werden:

    Code
    <action name="showhotspots">
      if(%1 != NEXT, set(i,0) );
    
    
      if(hotspot[%i].kategorie == "Kunst", showhotspot( get(hotspot[%i].name) ) );
    
    
      inc(i);
      if(i LT hotspot.count, showhotspots(NEXT) );
    </action>

    Schöne Grüße,
    Klaus

  • Hallo Klaus

    Ganz herzlichen Dank für Deine hilfreiche und tolle Unterstützung!

    Zwar bin ich infolge laufenden Projekten etwas in Verzug - aber ich habe den Code bereits provisiorisch einkopiert. So der Spur nach, denke ich nun auch, endlich die Logik dahinter verstanden zu haben.
    Ich hoffe, baldmöglichts einen Test machen zu können und danach an dieser Stelle ein Feedback zu geben.

    Nochmals vielen Dank und
    freundliche Grüsse

    Pepe

Participate now!

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