Hi,
I use a pichotspot style in my pano on iPod. essai
It works great in a normal way.Problem is when you do a second touch on the hotspot while the picture is shown (it could happen if the hotspot appears in a corner), it bugs, the picture never goes back. It's only on the iPhone or iPod devices, it don't on PC (you can click several times on the hotspot, the picture goes back when clicking).?!
I tried to change the scale (the only variable you could change on iPhone) via the "showpic" or "flyin" action. Problem is, with those actions, the picture become the hotspot ! (original code)
Code
<action name="calc_flyout_size">
div(screen_sideaspect, stagewidth, stageheight);
div(hotspot_sideaspect, hotspot[%1].width, hotspot[%1].height);
if(screen_sideaspect LT hotspot_sideaspect,
<!-- align at screen width -->
div(hotspot[%1].width,stagewidth,stageheight);
mul(hotspot[%1].width,120);
txtadd(hotspot[%1].width,'%');
set(hotspot[%1].height,prop);
,
<!-- align at screen height -->
set(hotspot[%1].width,prop);
set(hotspot[%1].height,120%);
);
</action>
<!-- fly in a hotspot = show hotspot fixed at screen -->
<action name="flyin">
if(hotspot[%1].flying == 0.0, hotspot[%1].resetsize(); calc_flyout_size(%1); );
if(hotspot[%1].oldscale === null, copy(hotspot[%1].oldscale, hotspot[%1].scale) );
if(hotspot[%1].oldrx === null, copy(hotspot[%1].oldrx, hotspot[%1].rx) );
if(hotspot[%1].oldry === null, copy(hotspot[%1].oldry, hotspot[%1].ry) );
if(hotspot[%1].oldrz === null, copy(hotspot[%1].oldrz, hotspot[%1].rz) );
set(hotspot[%1].enabled,true);
set(hotspot[%1].visible,true);
tween(hotspot[%1].alpha, 1.0);
tween(hotspot[%1].flying, 1.0);
tween(hotspot[%1].scale, 0.8);
tween(hotspot[%1].rx, 0.0);
tween(hotspot[%1].ry, 0.0);
tween(hotspot[%1].rz, 0.0);
</action>
<!-- fly the hotspot out/back -->
<action name="flyout">
set(hotspot[%1].enabled,false);
tween(hotspot[%1].alpha, 0.0, 0.5, default, set(hotspot[%1].visible,false); );
tween(hotspot[%1].flying, 0.0);
tween(hotspot[%1].scale, get(hotspot[%1].oldscale));
tween(hotspot[%1].rx, get(hotspot[%1].oldrx));
tween(hotspot[%1].ry, get(hotspot[%1].oldry));
tween(hotspot[%1].rz, get(hotspot[%1].oldrz));
stopallsounds();
set(plugin[son_2].scale,0.0);
set(plugin[mute_2].scale,0.0);
</action>
<action name="showpic">
playsound(ex-voto,%SWFPATH%/music/ex-voto.mp3);
if(hotspot[get(pic)] === null,
txtadd(picfilename,'%CURRENTXML%/images/pic_',get(pic),'.jpg');
addhotspot(get(pic));
getcenter(hsath,hsatv);
copy(hotspot[get(pic)].ath, hsath);
copy(hotspot[get(pic)].atv, hsatv);
set(hotspot[get(pic)].visible,false);
set(hotspot[get(pic)].distorted,true);
set(hotspot[get(pic)].zorder,2);
set(hotspot[get(pic)].scale,0.1);
set(hotspot[get(pic)].alpha,0.0);
<!--set(hotspot[get(pic)].effect,glow(0xFFFFFF,1.0,30,10000);dropshadow(10,45,0x000000,10,0.3););-->
set(hotspot[get(pic)].onloaded, flyin(get(name)) );
set(hotspot[get(pic)].onclick, flyout(get(name)) );
copy(hotspot[get(pic)].url,picfilename);
,
flyin(get(pic));
);
</action>
Alles anzeigen
Any suggestion would be pleased.
Thanks.
Steph