vtour.xml Befehl ändern

  • Habe ein vtour aus einem Panorama und Fotos als Hotspots erstellt. Nun möchte ich wenn man den Linken Sreuerungspfeil anklickt, das egal von welchem Hotspot aus immer wieder auf das Panorama zurück gestellt wird.


    <layer name="skin_btmborder" url="vtourskin.png" crop="2|52|60|12" align="bottomleft" edge="topleft" width="100%" height="12" x="0" y="0" enabled="false" />
    <layer name="skin_btn_prev" url="vtourskin.png" crop="0|64|64|64" align="left" x="5" y="0" scale="0.5" alpha="0.5" onclick="skin_nextscene(-1);" ondown="skin_buttonglow(get(name));" onup="skin_buttonglow(null);" />
    <layer name="skin_btn_next" url="vtourskin.png" crop="64|64|64|64" align="right" x="5" y="0" scale="0.5" alpha="0.5" onclick="skin_nextscene(+1);" ondown="skin_buttonglow(get(name));" onup="skin_buttonglow(null);" />
    <layer name="skin_btn_thumbs" url="vtourskin.png" crop="0|128|64|64" align="leftbottom" x="50" y="4" scale="0.5" ondown="skin_buttonglow(get(name)); skin_showmap(false); skin_showthumbs();" onup="skin_buttonglow(null);" />
    <layer name="skin_btn_map" url="vtourskin.png" crop="64|128|64|64" align="leftbottom" x="90" y="4" scale="0.5" ondown="skin_buttonglow(get(name)); skin_showthumbs(false); skin_showmap();" onup="skin_buttonglow(null);" visible="false" />
    <layer name="skin_btn_lt" url="vtourskin.png" crop="0|192|64|64" align="bottom" x="-100" y="4" scale="0.5" ondown="skin_buttonglow(get(name)); set(hlookat_moveforce,-1);" onup="skin_buttonglow(null);set(hlookat_moveforce,0);" />
    <layer name="skin_btn_rt" url="vtourskin.png" crop="64|192|64|64" align="bottom" x="-60" y="4" scale="0.5" ondown="skin_buttonglow(get(name)); set(hlookat_moveforce,+1);" onup="skin_buttonglow(null);set(hlookat_moveforce,0);" />
    <layer name="skin_btn_up" url="vtourskin.png" crop="0|256|64|64" align="bottom" x="-20" y="4" scale="0.5" ondown="skin_buttonglow(get(name)); set(vlookat_moveforce,-1);" onup="skin_buttonglow(null);set(vlookat_moveforce,0);" />

    wie müsste ein Code aussehen der immer auf die erste Scene ( Panorama ) zurück stellt?

  • Hi,

    die 'skin_nextscene' Action hat nur relative Parameter - d.h. +1 = die nächste Szene, -1 = die vorherige Szene,
    d.h. für absolute Angaben müsste die Action geändert bzw. basiert darauf eine neue erstellt werden - z.B eine 'skin_gotoscene' Action.

    z.B. so sieht die 'skin_nextscene' Action aus - die 'newsceneindex' Variable wird dort anhand des aktuellen Szene-Indexes plus dem angegeben Parameter (%1) berechnet:

    Code
    <action name="skin_nextscene">
        add(newsceneindex, scene[get(xml.scene)].index, %1);
        if(newsceneindex GE 0,
            if(newsceneindex LT scene.count,
                txtadd(layer[skin_thumbborder].parent, 'skin_thumb_', get(newsceneindex));
                layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
                loadscene(get(scene[get(newsceneindex)].name), null, MERGE, BLEND(0.5));
              );
          );
    </action>

    so könnte eine 'skin_gotoscene' Action aussehen - 'newsceneindex' wird direkt auf den angegeben Wert gesetzt, der restliche Code kann gleich blieben:

    Code
    <action name="skin_gotoscene">
        set(newsceneindex, %1);
        if(newsceneindex GE 0,
            if(newsceneindex LT scene.count,
                txtadd(layer[skin_thumbborder].parent, 'skin_thumb_', get(newsceneindex));
                layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
                loadscene(get(scene[get(newsceneindex)].name), null, MERGE, BLEND(0.5));
              );
          );
    </action>

    Der Aufruf im Code um zur 1. Szenze zu wechseln lautet dann (0=1. Szene, 1=2. Szene usw.):

    Code
    onclick="skin_gotoscene(0);"

    Schöne Grüße,
    Klaus

Participate now!

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