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, 20. August 2014, 20:09

Introimage bei Touraufruf, nicht szenenabhängig

Ich erstelle meine Panoramen ausschließlich über das Droplet "Make Vtour Multires" und möchte gerne danach (oder irgendwann durch Anpassung der Default-Dateien) Anpassungen vornehmen. Zuerst möchte ich ein Introimage einblenden lassen, aber nur einmalig bei Aufruf der Vtour. Ich habe das Beispiel aus dem Examples-Ordner genommen, bekomme dies aber nur zum Laufen wenn ich es in der ersten Szene der Vtour plaziere. Dann sieht der User es beim Start, aber bekommt es jedesmal wieder zu sehen wenn er diese Szene erneut aufruft. Gibt es einen Weg den INtroimageCode zu plazieren sodaß er einmalig beim Start abläuft und nicht einer speziellen Szene zugeordnet ist?

Evtl lässt sich das ja durch den onstart="startup(); mit aufrufen?

Hier mein bisheriger Code:

$this->cacheCode('[php]','<krpano version="1.17.4" title="Virtual Tour" onstart="startup();">

<include url="skin/vtourskin.xml" />

<!-- set skin settings: bingmaps? gyro? thumbnail controlling? tooltips? -->
<skin_settings bingmaps="true"
bingmaps_key="AmyJPWSRUTBDglPChP0xv7DnX-8yf2rxR1ivtJu6Ok9IaX8aydpuHs36moNhyczc"
bingmaps_zoombuttons="false"
gyro="true"
thumbs_width="120" thumbs_height="80" thumbs_padding="10" thumbs_crop="0|40|240|160"
thumbs_opened="false"
thumbs_text="false"
thumbs_dragging="true"
thumbs_onhoverscrolling="false"
thumbs_scrollbuttons="false"
thumbs_scrollindicator="false"
thumbs_loop="false"
tooltips_thumbs="false"
tooltips_hotspots="false"
tooltips_mapspots="false"
controlbar_offset="20"
/>

<!-- set optional skin logo url -->
<layer name="skin_logo" url="" scale="0.25" opened_onclick="openurl('...',_blank);" />


<action name="startup">
if(startscene === null, copy(startscene,scene[0].name));
loadscene(get(startscene), null, MERGE);
</action>


<scene name="scene_scene1" title="scene1" onstart="" thumburl="panos/scene1.tiles/thumb.jpg" lat="" lng="" heading="">

<view hlookat="0" vlookat="0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />

<!-- Das Introimage beginnt hier-->
<events name="panoevents"
onloadcomplete="delayedcall(introimage, 4.0, if(layer[introimage], hideintroimage() ); ); set(events[panoevents].onloadcomplete,null);"
onremovepano="stopdelayedcall(introimage);"
/>
<layer name="introimage"
url="introimage.png"
align="center"
onloaded="set(alpha,0); tween(alpha,1.0);"
onclick="hideintroimage();"
/>
<action name="hideintroimage">
if(layer[introimage].enabled,
set(layer[introimage].enabled,false);
tween(layer[introimage].alpha, 0.0, 0.5, default, removelayer(introimage));
);
</action>
<!-- Das Introimage endet hier -->

<preview url="panos/scene1.tiles/preview.jpg" />

<image type="CUBE" multires="true" tilesize="512" progressive="false">
<level tiledimagewidth="256" tiledimageheight="256">
<cube url="panos/scene1.tiles/%s/l1/%v/l1_%s_%v_%h.jpg" />
</level>
<mobile>
<cube url="panos/scene1.tiles/mobile_%s.jpg" />
</mobile>
</image>

<!-- place your scene hotspots here -->

</scene>

<scene name="scene_scene2" title="scene2" onstart="" thumburl="panos/scene2.tiles/thumb.jpg" lat="" lng="" heading="">

<view hlookat="0" vlookat="0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />

<preview url="panos/scene2.tiles/preview.jpg" />

<image type="CUBE" multires="true" tilesize="512" progressive="false">
<level tiledimagewidth="256" tiledimageheight="256">
<cube url="panos/scene2.tiles/%s/l1/%v/l1_%s_%v_%h.jpg" />
</level>
<mobile>
<cube url="panos/scene2.tiles/mobile_%s.jpg" />
</mobile>
</image>

<!-- place your scene hotspots here -->

</scene>

</krpano>
')

2

Mittwoch, 20. August 2014, 21:46

Mit visible true/false ließe sich das realisieren

$this->cacheCode('[php]','
<krpano version="1.17.4" onstart="startup();">

<layername="willkommen"
url="images/introimage.png"
align="center"
onloaded="set(alpha,0); tween(alpha,1.0);"
onclick="willkommen();"
keep="true" align="center" edge="center" x="0" y="0" url="images/introimage.png" visible="false"
onclick="set(layer[willkommen].visible,false);" />

<action name="startup">
<!-- load the first scene -->
set(plugin[willkommen].visible,true); if(startscene === null, copy(startscene,scene[0].name));
loadscene(get(startscene), null, MERGE);
</action>

</krpano>')

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Horsty« (20. August 2014, 21:51)


3

Mittwoch, 20. August 2014, 21:50

Hallo Mark,

startup ist schon mal eine gute Idee.

Ohne den ganzen Event-Kram wäre eine Simpel-Lösung (ohne Ein- und Ausblenden, das Intro verschwindet auf Klick) :
1. Am Ende von Startup$this->cacheCode('[php]','showintroimage();')

2. Statt der bisherigen Lösung:
$this->cacheCode('[php]','<layer name="introimage"
url="introimage.png"
align="center"
keep="true"
ondown="hideintroimage"
/>

<action name="showintroimage">
set(layer[introimage].visible,true);
</action>

<action name="hideintroimage">
set(layer[introimage].visible,false);
</action>')

Kann man natürlich noch erheblich weiter entwickeln.

Gruß
Wolf

4

Donnerstag, 21. August 2014, 07:50

Horsty & Wolf: Vielen Dank! Die einfache Klick-Variante gefällt mir am besten :-) Ich habs gerade probiert und es klappt auf Anhieb, - eine Erfahrung die ich mit KrPano eher selten mache :-)

VG, Mark

Ähnliche Themen