Dear visitor, welcome to krpano.com Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
Hi,Vielleicht basiert das nur auf den distorted Hotspots, wenn man aufs Bild klickt, liest der Player die aktuelle view-position aus und passt die rx, ry, rz und scale Attribute des Bildes automatisch so an, dass sie großflächig im Panorama sichtbar sind?
Wär das ein Ansatz? Oder gibts eine andere Möglichkeit?
)|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
<events onviewchange="if(hotspot[spot].fly, centerhotspot() );" />
<action name="centerhotspot">
set(hotspot[spot].ath, get( view.hlookat ) );
set(hotspot[spot].atv, get( view.vlookat ) );
div(hotspot[spot].scale, 2.0, view.r_zoom ) );
</action>
<action name="flyout">
copy(backup_ath,ath);
copy(backup_atv,atv);
copy(backup_scale,scale);
copy(backup_rx,rx);
copy(backup_ry,ry);
copy(backup_rz,rz);
adjusthlookat( get(ath) );
tween(ath, get(view.hlookat) );
tween(atv, get(view.vlookat) );
tween(rx, 0);
tween(ry, 0);
tween(rz, 0);
div(destscale, 2.0, view.r_zoom );
tween(scale, get(destscale), 0.5, default, WAIT );
set(fly,true);
</action>
<action name="flyin">
set(fly,false);
tween(ath, get(backup_ath));
tween(atv, get(backup_atv));
tween(scale, get(backup_scale));
tween(rx, get(backup_rx));
tween(ry, get(backup_ry));
tween(rz, get(backup_rz));
</action>
<hotspot name="spot"
url="image.jpg"
distorted="true"
zoom="true"
ath="21"
atv="20"
scale="0.5"
rx="-75" ry="-18" rz="-29"
fly="false"
onclick="if(fly, flyin(), flyout());"
/>
|


Hi,das ist eine tolle Lösung, die Du hier aufzeigst(!), allerdings frage ich mich erneut - und jetzt auch Dich - anläßlich des Ansatzes "onviewchange":
Wie "vorsichtig" muß/soll man mit dem Auslösen solcher beinahe-"dauerprozessen" umgehen? onviewchange wird im Zuge des pano/tour-Betrachtens ja (fast) permanent dispatched (auch wenn dann nichs oder nicht viel passiert...) bzw. "echte dauerprozesse" wie aus Deinem heutigen as3-bezogenem thread zum "individuellen progressbar" (onEnterFrame).
Bremst man unter Verwendung ein paar solcher Triggerungen eine Tour nicht gleich merkbar ab?
Leiden dann nicht tweens und andere timingrelevante Aktionen spürbar? Ich hab zu wenig AS-Erfahrung, um diese Bedenken zB gleich hinwegfegen zu können und habe bisher folglich solche methoden vermieden...
