action-name(parameters);
variable name (read only) | type | default value | |
version | String | ||
---|---|---|---|
The krpano version string, e.g. "1.0.8.12". | |||
variable name (read only) | type | default value | |
xmlversion | String | ||
The version setting from the xml. When not set this will be the same number as the krpano version string. | |||
variable name (read only) | type | default value | |
build | String | ||
The krpano build string, e.g. "2010-10-22". | |||
variable names (read only) | type | default value | |
mouse.x mouse.y mouse.stagex mouse.stagey |
int int int int |
||
The current mouse position. The mouse.x and mouse.y coordinates are relative to the left top edge of the area and the mouse.stagex and mouse.stagey coordinates to the left top edge of the whole flash stage/window. |
|||
variable name (read only) | type | default value | |
keycode | int | ||
The keycode of the last pressed or released key. It will be set in the onkeydown and onkeyup events. Note - here a small code snippet to find out the keycode of each key: <events onkeydown="showlog(); trace('keycode=',keycode);" /> |
|||
variable name (read only) | type | default value | |
wheeldelta | int | ||
The delta of the mouse wheel rotation. This variable will be set in the onmousewheel event. |
|||
variable name | type | default value | |
fullscreen | Boolean | false | |
The fullscreen variable holds the current state of the fullscreen mode. When it will be changed, then also the fullscreen mode will change. Note - there is a Flashplayer security limitation - switching to fullscreen mode is only possible as reaction of an user input like a mouse click or a keypress! That means you can only switch to fullscreen mode in a onclick or onkeydown event. Example - switch to fullscreen mode: ... onclick="set(fullscreen,true);"Example - switch between fullscreen and windowed mode: ... onclick="switch(fullscreen);" |
|||
variable names (read only) | type | default value | |
stagewidth stageheight |
int int |
||
The size of the current window in pixels. Get the this size in the onresize event. |
|||
variable names (read only) | type | default value | |
isphone ispad isandroid isflash ishtml5 |
Boolean Boolean Boolean Boolean Boolean |
||
Device detection variables. Check them with the if action.
|
|||
variable name (read only) | type | default value | |
timertick | int | ||
The timertick variable returns the number of milliseconds that have elapsed since the viewer was started (1000 milliseconds = 1 second). | |||
variable name (read only) | type | default value | |
random | Number | 0.0 - 1.0 | |
The random variable returns the a random number in range 0.0 to 1.0. Example - how to get a random value in the range 1 - 10: mul(val, random, 9); add(val, 1); roundval(val); trace('random value=',val); |
|||
variable names | type | default value | |
hlookat_moveforce vlookat_moveforce fov_moveforce |
Number Number Number |
0.0 0.0 0.0 |
|
These variables are defining a moving force to move the view / the pano. When set to a value other than 0.0 the view will start slowly accelerating (controlled by keybaccelerate) and move with a maximum speed (controlled by keybspeed) until set back to 0.0, then it will slow down (controlled by keybfriction). |
|||
variable name (read only) | type | default value | |
multireslevel | int | ||
The multireslevel variable returns the current multi-resolution level (0 - image.level.count). |
|||
variable name | type | default value | |
lockmultireslevel | String | -1 | |
Lock the automatic multi-resolution level selection to a fixed level. Set lockmultireslevel to "current" to lock the level to the current level. To release the level locking set lockmultireslevel back to "-1". |
|||
variable name | type | default value | |
downloadlockedlevel | Boolean | false | |
When set to true then the locked level will be downloaded completely. | |||
variable name (read only) | type | default value | |
xml.url | String | ||
The xml.url variable contains the path/url of the currently loaded xml file. | |||
variable name (read only) | type | default value | |
xml.content | String | ||
The xml.content variable contains the whole content of the currently loaded xml file as string. | |||
variable name (read only) | type | default value | |
xml.scene | String | ||
The xml.scene variable contains the name of currently loaded scene. | |||
variable name (read only) | type | default value | |
lasterror | String | ||
The lasterror variable contains the last error message when an error had happened. To get this variable the onloaderror event must be used. | |||
variable name (read only) | type | default value | |
haveexternalinterface | Boolean | true | |
This variable can be used to check if the External Interface from the Flashplayer is available.
This interface is nesecery for the Javascript Interface, for the
openurl action and when using plugins (like the googlemaps plugin) that
load code/data from the web. Online on a server the External Interface is always available, but locally only when the folder of the Flash swf is in a 'trusted folder'. The trusted folders can be managent in the Flashplayer security settings, see here for more detatils - Local / Offline Usage. |
set(var1,'hello');
set(var2,get(var1));
set(fullscreen,true);
set(plugin[p1].visible,false);
set(hotspot[h1].scale,2.5);
set(contextmenu.item[0].caption,'hello item');
set(events.onxmlcomplete,null);
set(dstvar,get(srcvar));
looktohotspot(get(name));
lookto(get(h),get(v),get(f));
showtext(get(msg));
tween(var,get(dstval));
set(pic, spot1); set(hotspot[get(pic)].visible,false);
trace('xyz=',xyz,' get(xyz)=',get(xyz));
txtadd(msg,'fov=',get(view.fov));
copy(dstvar,srcvar);
copy(cur_hlookat,view.hlookat);
copy(plugin[text].x, mouse.x); copy(plugin[text].y, mouse.y);
if(variable, ...);This variable will be compared against true.
if(var1 OPERATOR var2, ...);The var1 or var2 can be a variables or values. When var1 or var2 is a variable then the content of the variable will be used for comparison. Only when using a 'strict' comparison operator (=== or !==) then var1 and var2 must be variables (or null).
if(fullscreen, fullscreensetup(), windowsetup() );
if(fullscreen, set(plugin[controls].visible, false) );
if(%1 != next, set(i,0) );
if(i LT 10, loop(next) );
if(var === null, set(var,0));
if(hotspot[spot1] === null, trace(there is no spot1 hotspot));
if(varA GT 5, if(varA LT 10, trace('varA is between 5 and 10') ); );
set(result,true); ifnot(varA, set(result,false) ); ifnot(varB, set(result,false) ); ifnot(varC, set(result,false) ); if(result, trace('all vars are true') );
if(var1 GT var2, trace('condition is true'); lookto(100,20,50); , trace('condition is false'); lookto(0,0,100); );
<krpano onstart="intro();"> ... <action name="intro"> lookat(0,0,90); wait(LOAD); lookto(120,10,110); lookto(-50,40,110); lookto(0,0,90); </action> ... </krpano>
<action name="overaction"> tween(scale, 2.0); tween(alpha, 1.0); </action> <action name="outaction"> tween(scale, 1.0); tween(alpha, 0.5); </action> <plugin name="pic1" ... onover="overaction();" onout="outaction();" /> <plugin name="pic2" ... onover="overaction();" onout="outaction();" />
<action name="test"> showlog(); trace('parameter1=',%1); trace('parameter2=',%2); </action> <action name="parameterpassingtest"> test('Test1', 'Test2'); </action>
delayedcall(5.0, hidelogo() );
delayedcall(10, looktohotspot(spot1);loadpano(pano2.xml); );
delayedcall(1, showtext('hello'); ); delayedcall(4, showtext('to the pano'); );
<action name="updatemousepos"> copy(plugin[cursor].x, mouse.x); copy(plugin[cursor].y, mouse.y); delayedcall(0.02, updatemousepos() ); </action>
switch(fullscreen);
switch(hotspot.visible);
switch(plugin[button1].visible);
switch(plugin[button1].alpha, 1.0, 0.5);
switch(plugin[child].parent, button1, button2, button3);
switch(destpos, -100, 0, +100); tween(y,get(destpos));
push(varA); push(varB); pop(varB2); pop(varA2);
push(plugin[%1].width); push(plugin[%1].height); plugin[%1].resetsize(); copy(plugin[%1].originalwidth, plugin[%1].width); copy(plugin[%1].originalheight, plugin[%1].height); pop(plugin[%1].height); pop(plugin[%1].width);
set(val, 1); add(val, 1); trace('val should be 2: val=',val);
mul(doublewidth, width, 2.0);
mul(scale, 0.5);
div(result, vala, valb);
add(dst,rotate,360); tween(rotate,get(dst),5);
add(xpos, mouse.x, mouse_x_offset);
sub(destx, stagewidth, destwidth);
div(aspect,16,9);
mod(cur_hlookat,cur_hlookat,360);
pow(sqrt,val,0.5);
inc(i);
inc(frame,1,get(lastframe),0);
inc(ypos,30);
inc(view.hlookat, 2, 90, 90);
roundval(val);
roundval(val,2);
copy(cur_hlookat,view.hlookat); mod(cur_hlookat,360); roundval(cur_hlookat,2); copy(cur_vlookat,view.vlookat); roundval(cur_vlookat,2); txtadd(msg,'looking at ',get(cur_hlookat),'/',get(cur_vlookat));
txtadd(picfilename,'%CURRENTXML%/pic_',get(pic),'.jpg');
txtadd(crop,'0|',get(ypos),'|333|285');
txtadd(pname, 'thumbbar_image_', get(i));
txtadd(plugin[text].html,'[p]',get(data[txt1].content),'[/p]');
txtadd(msg,get(view.fovtype),'=',get(fov),'°');
tween(scale,2);
tween(rotate,90);
tween(width,50%);
onover="tween(alpha,0.7,distance(0.3,0.2));" onout="tween(alpha,1.0,distance(0.3,0.2));"
set(alpha,0); set(visible,true); tween(alpha, 1.0 ,0.3);
tween(plugin[logo].width, get(destwidth));
set(plugin[image].enabled,false); tween(plugin[image].alpha,0.0,0.5,default,removeplugin(image));
set(view.stereographic,true); tween(view.vlookat, 90.0, 2.0); tween(view.fisheye, 1.0, 2.0); tween(view.fov, 150.0, 2.0);
ondown="tween(plugin[text].y, 10, distance(400,0.7), linear);" onup="stoptween(plugin[text].y);"
loadpano(pano2.xml);
loadpano(pano2.xml, null, MERGE, BLEND(1));
loadscene(scene1);
loadscene(scene1, null, MERGE, BLEND(1));
loadxml('<krpano><image><sphere url="pano.jpg"/></image></krpano>');
loadxml(get(data[xml].content), null, KEEPALL);
loadpano('%SWFPATH%/pano.xml', null, MERGE, BLEND(2));
loadpano(sphere.xml, image.hfov=1.0&view.limitview=fullrange);
openurl('http://krpano.com',_self);
openurl('help.html');
lookat(0,0);
lookat(0,0,90);
loadpano(pano.xml); lookat(45.1, -20.2, 110.0);
moveto(100.0,5,linear(10));
zoomto(130,smooth());
lookto(33,-22,30,smooth(100,50,20));
looktohotspot(hotspot1);
looktohotspot(hotspot2, 40);
looktohotspot(hotspot3, 25, smooth(100,50,20));
looktohotspot(get(name));
adjusthlookat(140); tween(view.hlookat,140);
oninterrupt(break); lookto(150,30,70); wait(3); lookto(242,0,150); lookto(280,-10,50); wait(3);
loadpano(pano2.xml,null,MERGE,BLEND(2)); lookat(100,50,5); wait(BLEND); lookto(100,50,150);
oninterrupt(break); lookto(150,30,70); wait(3); lookto(242,0,150); lookto(280,-10,50); wait(3);
oninterrupt( trace(user interrupt); ); lookto(0,0,90); lookto(90,0,90); lookto(180,0,90); lookto(270,0,90); lookto(0,0,90);
screentosphere(mouse.x,mouse.y,toh,tov);
[b]bold[/b]- bold text
[i]italic[/i]- italic text
[u]underline[/u]- underlined text
[br]- linefeed
onhover="showtext(you are hovering me);"
onhover="showtext(style text,TEXTSTYLE);"
onhover="showtext(line 1[br]line 2[br]line 3);"
onhover="showtext([b]bold[/b] [i]italic[/i]);"
set(image.hfov,1); updateobject(true,true);
addplugin(button); set(plugin[button].url,button.jpg); set(plugin[button].align,bottom); set(plugin[button].x,10); set(plugin[button].y,20); set(plugin[button].onhover,showtext('hovering the new button')); set(plugin[button].onclick, removeplugin(button) );
addhotspot(newspot); set(hotspot[newspot].url,spot.png); set(hotspot[newspot].ath,150); set(hotspot[newspot].atv,30); set(hotspot[newspot].scale,0.7); set(hotspot[newspot].zoom,true); set(hotspot[newspot].onclick, removehotspot(newspot) );
addhotspot(polyspot); set(hotspot[polyspot].fillalpha, 0.25); set(hotspot[polyspot].borderalpha, 0.50); set(hotspot[polyspot].onclick, removehotspot(polyspot) ); set(hotspot[polyspot].point[0].ath,-10); set(hotspot[polyspot].point[0].atv,-10); set(hotspot[polyspot].point[1].ath,-10); set(hotspot[polyspot].point[1].atv,+10); set(hotspot[polyspot].point[2].ath,+10); set(hotspot[polyspot].point[2].atv,+10); set(hotspot[polyspot].point[3].ath,+10); set(hotspot[polyspot].point[3].atv,-10);
addlensflare(sun, 20, -60); set(lensflare[sun].set, FLARESET2); set(lensflare[sun].size, 0.7);
function test(p1, p2, p3) { alert(p1 +" hlookat=" + p2 + " vlookat=" + p3); }Code in the XML file:
onclick="js( test('Hello', get(view.hlookat), get(view.vlookat)) );"
trace('view.maxpixelzoom=', view.maxpixelzoom);
<events onkeydown="trace('keycode=',keycode);" />
onresize="trace('size=',stagewidth,'x',stageheight);"
onclick="trace('mouse clicked at ', mouse.x, ' / ', mouse.y);"
trace('xyz=',xyz,' get(xyz)=',get(xyz));