10000vtourskin.xml 104 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632
  1. <krpano>
  2. <skin_settings maps="false" maps_type="bing" maps_bing_api_key="" maps_zoombuttons="false" gyro="true" webvr="true"
  3. littleplanetintro="false" title="false" thumbs="true" thumbs_width="120" thumbs_height="80"
  4. thumbs_padding="10" thumbs_crop="0|40|240|160" thumbs_opened="false" thumbs_text="true"
  5. thumbs_dragging="true" thumbs_onhoverscrolling="false" thumbs_scrollbuttons="false"
  6. thumbs_scrollindicator="false" thumbs_loop="false" tooltips_buttons="false" tooltips_thumbs="false"
  7. tooltips_hotspots="false" tooltips_mapspots="false" deeplinking="false" loadscene_flags="MERGE"
  8. loadscene_blend="OPENBLEND(0.5, 0.0, 0.75, 0.05, linear)"
  9. loadscene_blend_prev="SLIDEBLEND(0.5, 180, 0.75, linear)"
  10. loadscene_blend_next="SLIDEBLEND(0.5, 0, 0.75, linear)" loadingtext="载入中..." layout_width="100%"
  11. layout_maxwidth="100%" controlbar_width="100%" controlbar_height="0" controlbar_offset="0"
  12. controlbar_offset_closed="-40" controlbar_overlap.no-fractionalscaling="10"
  13. controlbar_overlap.fractionalscaling="0" design_skin_images="vtourskin.png" design_bgcolor="0x000000"
  14. design_bgalpha="0.5" design_bgborder="0" design_bgroundedge="1" design_bgshadow="0 4 10 0x000000 0.3"
  15. design_thumbborder_bgborder="3 0xFDE428 1.0" design_thumbborder_padding="2"
  16. design_thumbborder_bgroundedge="0" design_text_css="color:#FFFFFF; font-family:Arial;"
  17. design_text_shadow="1"/>
  18. <include url="%SWFPATH%/plugins/swipe_gallery.xml"/>
  19. <vtourskinxmlpath url="./"/>
  20. <include url="%SWFPATH%/plugins/tooltip.xml"/>
  21. <settings name="auto_thumbs" thumb_size="90" thumb_background_size="92" thumb_spacing="20" left="0" right="0"
  22. bottom="5" albums_right="0"/>
  23. <events name="auto_thumbs" keep="true" onresize="resize_auto_thumbs()" onnewscene="update_active_thumb();"
  24. onxmlcomplete="ifnot(thumbs_intitialized, create_auto_thumbs(); set(thumbs_intitialized, true););"
  25. onmousedown="hide_container(get(layer[albums].current_container)); fadein_children(albums_scrollarea); set(layer[new_thumbs].visible, false); set(layer[albums].current_container, null);"/>
  26. <layer name="thumbs_background" scalechildren="true" scale="1" type="container" align="leftbottom" x="0" y="-102"
  27. width="100%" height="102" maskchildren="false" bgcolor="0x000000" bgalpha="0.5" keep="true"
  28. state="closed" vr="false"></layer>
  29. <layer name="auto_thumbs" type="container" keep="true" preload="true" scalechildren="true" scale="1"
  30. align="leftbottom" x="0" y="0" width="100%" height="160" maskchildren="false" bgcolor="0x000000"
  31. bgalpha="0.0" parent="thumbs_background">
  32. <layer name="albums" scalechildren="true" scale="1" type="container" align="leftbottom" x="0" y="0" width="100%"
  33. height="160" maskchildren="false" bgcolor="0x000000" bgalpha="0.0"
  34. onout="delayedcall(disable_thumbs, .25, set(layer[new_thumbs].visible, false));">
  35. <layer name="albums_left_shadow" style="scroll_shadow" align="left" ox="-100%" rotate="180"/>
  36. <layer name="albums_right_shadow" style="scroll_shadow" align="right"/>
  37. <layer name="albums_scrollarea" style="scrollarea" width="0" align="center"
  38. onscroll="move_thumbs(); show_or_hide_shadows();"
  39. onout="delayedcall(fadein, .25, fadein_children(name))"></layer>
  40. </layer>
  41. <layer name="new_thumbs" scalechildren="true" scale="1" type="container" align="leftbottom" x="0" oy="0"
  42. width="100%" height="160" visible="false" maskchildren="false" bgcolor="0x000000" bgalpha="0.0"
  43. onover="stopdelayedcall(fadein); stopdelayedcall(disable_thumbs); set(visible, true);"
  44. onout="delayedcall(disable_thumbs, .25, set(layer[new_thumbs].visible, false));">
  45. <layer name="thumbs_left_shadow" style="scroll_shadow" align="left" ox="-100%" rotate="180"/>
  46. <layer name="thumbs_right_shadow" style="scroll_shadow" align="right"/>
  47. <layer name="thumbs_scrollarea" width="100%" style="scrollarea" maskchildren="false"
  48. onscroll="show_or_hide_shadows();"></layer>
  49. </layer>
  50. </layer>
  51. <style name="album_thumburl" align="leftbottom" keep="true" x="8" y="8"
  52. alpha="1" width="82" height="81"
  53. onclick="show_thumbs();"
  54. />
  55. <style name="album" url="%SWFPATH%/skin/group2.png" align="leftbottom" keep="true" oy="0" alpha="1" width="98" height="97" y="-3"
  56. blendmode="layer" as="album"
  57. ondown="layer[thumbs_scrollarea].scrolltocenter(0,0);" />
  58. <style type="container" name="thumb" align="leftbottom" bgcolor="0xffffff" bgalpha="0.5" bgborder="0" bgroundedge="2" bgshadow="" maskchildren="true" bgcapture="true" keep="true" width="92" height="92"
  59. onover="fadeout_siblings(name); fadeout_siblings(album);" blendmode="layer"
  60. onclick="loadscene(get(scene), null, MERGE, BLEND(1));if(parent == albums_scrollarea, hide_container(get(layer[albums].current_container)); );js(setUrl(get(scene)));"/>
  61. <style name="thumb_image" ox="0" oy="0" width="0" height="0" keep="true" enabled="false"/>
  62. <style name="thumbs_container" scalechildren="true" scale="1" type="container" align="leftbottom" x="0" y="-102"
  63. width="100%" height="102" maskchildren="false" bgcolor="0x000000" bgalpha="0.5" keep="true"
  64. visible="true" state="closed" vr="false"
  65. />
  66. <style name="sub_thumbs_container"
  67. direction="h" onloaded="setcenter(0,0);"
  68. scalechildren="true" scale="1" type="container" align="cneter" x="0" y="-5"
  69. height="102" maskchildren="false" keep="true" width="0"
  70. visible="true" state="closed" vr="false" onscroll="move_thumbs(); "
  71. />
  72. <style name="scrollarea" url="%SWFPATH%/plugins/scrollarea.swf" keep="true"
  73. alturl="%SWFPATH%/plugins/scrollarea.js" direction="h" onloaded="setcenter(0,0);"
  74. onhover_autoscrolling="true"/>
  75. <style name="thumbs_count" url="%SWFPATH%/plugins/textfield.swf" keep="true" scale="2" align="rightbottom" x="16"
  76. y="16" html="1" zorder="999999999" width="12" height="11" padding="0 3" roundedge="4" alpha=".95"
  77. shadow="0.01" shadowalpha=".3" embeddedfontsd="true" enabled="false" onloaded=""
  78. css="color:#777777;font-family: sans-serif;font-size: 14px;line-height: 23px;font-weight:400;text-align: center;"/>
  79. <style name="scroll_shadow" url="%SWFPATH%/skin/shadow.png" keep="true" x="0" y="0" zorder="99"/>
  80. <!-- 缩略图container -->
  81. <style name="thumb_image_title_container"
  82. type="container"
  83. bgcolor="0x000000"
  84. bgalpha="0.5"
  85. y="35"
  86. height="20"
  87. width="100%"
  88. keep="true"
  89. align="center"
  90. />
  91. <!-- 缩略图名称 -->
  92. <style name="thumb_image_title_word"
  93. url="%SWFPATH%/plugins/textfield.swf"
  94. background="false"
  95. css="color:#FFFFFF;line-height:16px;font-size:12px;text-align:center"
  96. enabled="false"
  97. width="100%"
  98. keep="true"
  99. height="20"
  100. />
  101. <action name="create_auto_thumbs">
  102. if (scene.count GT 1
  103. ,
  104. copy(thumb_size,settings[auto_thumbs].thumb_background_size);
  105. copy(thumb_image_size, settings[auto_thumbs].thumb_size);
  106. copy(style[thumb_image].width, thumb_image_size);
  107. copy(style[thumb_image].height, thumb_image_size);
  108. copy(style[thumb_image].oy, thumb_size);
  109. sub(style[thumb_image].oy, thumb_image_size);
  110. div(style[thumb_image].oy, 2);
  111. copy(style[thumb_image].ox,style[thumb_image].oy);
  112. copy(layer[thumbs_scrollarea].height, thumb_size);
  113. copy(layer[albums_scrollarea].height,thumb_size);
  114. copy(layer[albums].height, thumb_size);
  115. copy(layer[new_thumbs].height, thumb_size);
  116. copy(layer[new_thumbs].y,thumb_size);
  117. add(thumb_width, thumb_size, settings[auto_thumbs].thumb_spacing);
  118. set(album_index, 0);
  119. set(thumb_index, 0);
  120. for(set(i,0), i LT scene.count, inc(i)
  121. ,
  122. <!-- txtadd(album_image_name,'album_image_',get(i)); -->
  123. if(scene[0].album,
  124. if (scene[get(i)].album !== null
  125. ,
  126. txtadd(album_name,'album_',get(i));
  127. addlayer(get(album_name));
  128. layer[get(album_name)].loadstyle(album);
  129. set(layer[get(album_name)].parent, albums_scrollarea);
  130. set(layer[get(album_name)].album_index,get(album_index));
  131. mul(layer[get(album_name)].x, get(album_index),get(thumb_width));
  132. if(i==0, set(layer[get(album_name)].url,"%SWFPATH%/skin/group1.png"); );
  133. <!-- 缩略图 -->
  134. txtadd(album_thumburl,get(album_name),"_thumburl");
  135. addlayer(get(album_thumburl));
  136. layer[get(album_thumburl)].loadstyle(album_thumburl);
  137. set(layer[get(album_thumburl)].parent,get(album_name));
  138. set(layer[get(album_thumburl)].url,get(scene[get(i)].thumburl));
  139. <!-- 缩略图标题 -->
  140. txtadd(album_title_con,'album_title_con_',get(i));
  141. addlayer(get(album_title_con));
  142. layer[get(album_title_con)].loadstyle(thumb_image_title_container);
  143. set(layer[get(album_title_con)].parent, get(album_thumburl));
  144. set(layer[get(album_title_con)].y, 30);
  145. txtadd(album_title_word,'album_title_word_',get(i));
  146. addlayer(get(album_title_word));
  147. set(layer[get(album_title_word)].html, get(scene[get(i)].album));
  148. layer[get(album_title_word)].loadstyle(thumb_image_title_word);
  149. set(layer[get(album_title_word)].parent, get(album_title_con));
  150. add(layer[albums_scrollarea].width, get(thumb_width));
  151. txtadd(container_name,get(album_name), '_container');
  152. set(layer[get(album_thumburl)].container, get(container_name));
  153. inc(album_index);
  154. <!-- txtadd(container_name, get(album_name),'_container'); -->
  155. addlayer(get(container_name));
  156. layer[get(container_name)].loadstyle(thumbs_container);
  157. <!-- set(layer[get(container_name)].style,thumbs_container); -->
  158. set(layer[get(container_name)].album,get(album_name));
  159. txtadd(scroll_sub_container,get(container_name),'_scroll');
  160. addlayer(get(scroll_sub_container));
  161. layer[get(scroll_sub_container)].loadstyle(sub_thumbs_container);
  162. if(device.flash,
  163. set(layer[get(scroll_sub_container)].url,'%SWFPATH%/plugins/scrollarea.swf');
  164. ,
  165. set(layer[get(scroll_sub_container)].url,'%SWFPATH%/plugins/scrollarea.js');
  166. );
  167. set(layer[get(scroll_sub_container)].parent,get(container_name));
  168. set(thumb_index, 0);
  169. );
  170. create_thumb();
  171. set(layer[get(thumb_name)].parent, get(scroll_sub_container));
  172. add(layer[get(scroll_sub_container)].width, get(thumb_width));
  173. ,
  174. <!-- jscall(calc('console.log("krpano version: ")')); -->
  175. create_thumb();
  176. set(layer[get(thumb_name)].parent,albums_scrollarea);
  177. add(layer[albums_scrollarea].width, get(thumb_width));
  178. ); <!--if 结束-->
  179. ); <!--for 结束-->
  180. trace(layer[albums].width);
  181. trace(layer[auto_thumbs].width);
  182. trace(layer[auto_thumbs].pixelwidth);
  183. trace(layer[auto_thumbs].pixelheight);
  184. );
  185. if(settings[auto_thumbs].onstart, settings[auto_thumbs].onstart(); );
  186. </action>
  187. <action name="create_thumb">
  188. txtadd(thumb_name,'thumb_', get(i));
  189. addlayer(get(thumb_name));
  190. layer[get(thumb_name)].loadstyle(thumb);
  191. <!-- set(layer[get(thumb_name)].parent, get(container_name)); -->
  192. copy(layer[get(thumb_name)].scene, scene[get(i)].name);
  193. copy(layer[get(thumb_name)].album, album_name);
  194. set(layer[get(thumb_name)].thumb_index, get(thumb_index));
  195. mul(layer[get(thumb_name)].x, get(thumb_index),get(thumb_width));
  196. <!-- jscall(calc('console.log(" '+thumb_name+' x : '+layer[get(thumb_name)].x+'")')); -->
  197. <!-- if(container_name, add(layer[get(container_name)].width, get(thumb_width));); -->
  198. <!-- copy(layer[get(thumb_name)].tooltip, scene[get(i)].title);
  199. copy(layer[get(thumb_name)].tooltip_oy,layer[get(album_name)].tooltip_oy); -->
  200. txtadd(thumb_image_name,'thumb_image_',get(i)); addlayer(get(thumb_image_name));
  201. set(layer[get(thumb_image_name)].url,get( scene[get(i)].thumburl));
  202. layer[get(thumb_image_name)].loadstyle(thumb_image); set(layer[get(thumb_image_name)].parent, get(thumb_name));
  203. <!-- 缩略图标题 -->
  204. txtadd(thumb_image_title_con,'thumb_image_title_con_',get(i)); addlayer(get(thumb_image_title_con));
  205. layer[get(thumb_image_title_con)].loadstyle(thumb_image_title_container);
  206. set(layer[get(thumb_image_title_con)].parent, get(thumb_image_name));
  207. txtadd(thumb_image_title_word,'thumb_image_title_word_',get(i)); addlayer(get(thumb_image_title_word));
  208. set(layer[get(thumb_image_title_word)].html, get(scene[get(i)].title));
  209. layer[get(thumb_image_title_word)].loadstyle(thumb_image_title_word);
  210. set(layer[get(thumb_image_title_word)].parent, get(thumb_image_title_con));
  211. inc(thumb_index); if(i == 0, copy(layer[auto_thumbs].active_album, album_name);
  212. copy(layer[auto_thumbs].active_thumb, thumb_name); );
  213. </action>
  214. <action name="resize_auto_thumbs">copy(layer[auto_thumbs].width, area.pixelwidth);
  215. sub(layer[auto_thumbs].width,settings[auto_thumbs].left); sub(layer[auto_thumbs].width,
  216. settings[auto_thumbs].right); copy(layer[auto_thumbs].x, settings[auto_thumbs].left);
  217. copy(layer[auto_thumbs].y,settings[auto_thumbs].bottom); copy(layer[albums].width, layer[auto_thumbs].width);
  218. sub(layer[albums].width,settings[auto_thumbs].albums_right); add(layer[albums].width,
  219. settings[auto_thumbs].right);
  220. </action>
  221. <action name="show_thumbs">
  222. stopdelayedcall(disable_thumbs);
  223. if(!last_parent,set(last_parent,'album_0'););
  224. set(layer[get(last_parent)].url,"%SWFPATH%/skin/group2.png");
  225. if(container == last_show_sub_container AND layer[get(container)].state=='opened'
  226. ,
  227. set(layer[get(container)].state, 'closed');
  228. tween(layer[get(container)].y, -102, 0.5, easeOutQuint);
  229. <!-- set(layer[get(last_parent)].url,"%SWFPATH%/skin/group2.png"); -->
  230. ,
  231. if(layer[get(last_show_sub_container)].state=='opened',
  232. set(layer[get(last_show_sub_container)].state, 'closed');
  233. tween(layer[get(last_show_sub_container)].y, -102, 0.5, easeOutQuint);
  234. );
  235. if(layer[get(container)].state=='closed',
  236. set(layer[get(container)].state, 'opened');
  237. tween(layer[get(container)].y, 202, 0.5, easeOutQuint);
  238. set(last_show_sub_container,get(container));
  239. set(last_parent,get(parent));
  240. set(layer[get(parent)].url,"%SWFPATH%/skin/group1.png");
  241. );
  242. );
  243. <!-- set(layer[thumbs_background].visible, true); -->
  244. <!-- if(
  245. show,
  246. set(layer[thumbs_background].state, 'opened');
  247. tween(layer[thumbs_background].y, 97, 0.5, easeOutQuint);
  248. set(layer[thumbs_background].visible, true);
  249. ,
  250. set(layer[thumbs_background].state, 'closed');
  251. tween(layer[thumbs_background].y, -102, 0.5, easeOutQuint,
  252. set(layer[thumbs_background].visible, false););
  253. );
  254. -->
  255. <!-- if (layer[albums].current_container,
  256. copy(layer[get(container)].zorder,layer[get(layer[albums].current_container)].zorder);
  257. );
  258. inc(layer[get(container)].zorder);
  259. set(layer[albums].current_album, get(name));
  260. set(layer[albums].current_container, get(container));
  261. set(layer[get(container)].visible, true);
  262. tween_alpha(get(container), 1, .25);
  263. set(layer[new_thumbs].visible, true);
  264. set(layer[thumbs_scrollarea].width,get(layer[get(container)].width));
  265. if (device.pixelratio == 1,
  266. if(device.html5,mul(layer[thumbs_scrollarea].width, 2););
  267. ); -->
  268. <!-- move_thumbs();
  269. show_or_hide_shadows(); -->
  270. </action>
  271. <action name="hide_thumbs">delayedcall(get(container), 0, hide_container(get(container)); );</action>
  272. <action name="hide_container">tween(layer[%1].alpha, 0, .25, easeOutQuad, set(layer[%1].visible, false));
  273. tween(layer[thumbs_left_shadow].alpha, 0, .1); tween(layer[thumbs_right_shadow].alpha, 0, .1);
  274. </action>
  275. <action name="fadeout_siblings">for(set(i, 0), i LT layer.count, inc(i), if(layer[get(i)].parent ==
  276. layer[get(%1)].parent, if(layer[get(i)].parent == albums_scrollarea, if(scene[0].album, tween_alpha(get(i), .6);
  277. , tween_alpha(get(i), .85); ); , tween_alpha(get(i), .85); ); ) ); tween_alpha(get(%1), 1);
  278. </action>
  279. <action name="update_active_thumb">
  280. <!-- if(scene.count GT 1 , -->
  281. txtadd(active_thumb_name, 'thumb_', get(scene[get(xml.scene)].index));
  282. set(layer[get(layer[auto_thumbs].active_thumb)].bgcolor,'0xffffff');
  283. set(layer[get(layer[auto_thumbs].active_thumb)].bgalpha,0.5);
  284. copy(layer[auto_thumbs].active_thumb,active_thumb_name);
  285. set(layer[get(layer[auto_thumbs].active_thumb)].bgcolor,'0xF6A600');
  286. set(layer[get(layer[auto_thumbs].active_thumb)].bgalpha,1);
  287. if(layer[get(layer[auto_thumbs].active_album)].as == album,
  288. copy(layer[get(layer[auto_thumbs].active_album)].crop,album_crop); ,
  289. if(layer[auto_thumbs].active_album,copy(layer[get(layer[auto_thumbs].active_album)].crop,thumb_crop)); );
  290. copy(layer[auto_thumbs].active_album,layer[get(active_thumb_name)].album);
  291. if(layer[get(layer[auto_thumbs].active_album)].as == album,
  292. copy(layer[get(layer[auto_thumbs].active_album)].crop,active_album_crop); ,
  293. if(layer[auto_thumbs].active_album, copy(layer[get(layer[auto_thumbs].active_album)].crop,active_thumb_crop); )
  294. );
  295. <!-- ); -->
  296. </action>
  297. <action name="fadein_children">for(set(i, 0), i LT layer.count, inc(i), if(layer[get(i)].parent == %1,
  298. tween_alpha(get(i), 1); ) );
  299. </action>
  300. <action name="tween_alpha">tween(layer[%1].alpha, %2, .25);</action>
  301. <action name="move_thumbs">if(layer[albums].current_container, copy(thumbs_scrollarea_width,
  302. layer[thumbs_scrollarea].width); if (device.pixelratio == 1, if (device.html5, div(thumbs_scrollarea_width, 2);
  303. ); ); if (layer[new_thumbs].pixelwidth GE thumbs_scrollarea_width, mul(a,
  304. thumb_size,layer[get(layer[albums].current_album)].album_index); add(a, thumb_size); div(b, thumb_size, 2);
  305. div(c,layer[get(layer[albums].current_container)].width, 2); sub(result, a, b); sub(result, c);
  306. set(layer[get(layer[albums].current_container)].x, get(result));
  307. sub(layer[get(layer[albums].current_container)].x, get(layer[albums_scrollarea].loverflow));
  308. if(layer[get(layer[albums].current_container)].x GT 0,
  309. add(ox_plus_thumbs_width,layer[get(layer[albums].current_container)].x,
  310. layer[get(layer[albums].current_container)].width); if(ox_plus_thumbs_width GT layer[new_thumbs].pixelwidth,
  311. sub(dif, ox_plus_thumbs_width, layer[new_thumbs].pixelwidth); sub(layer[get(layer[albums].current_container)].x,
  312. dif); ); , set(layer[get(layer[albums].current_container)].x, 0); ); ,
  313. set(layer[get(layer[albums].current_container)].x,0); ); );
  314. </action>
  315. <action name="show_or_hide_shadows">if(layer[albums_scrollarea].loverflow GT 3,
  316. tween(layer[albums_left_shadow].alpha, 1, .1); , tween(layer[albums_left_shadow].alpha, 0, .1); );
  317. if(layer[albums_scrollarea].roverflow GT 3, tween(layer[albums_right_shadow].alpha, 1, .1); ,
  318. tween(layer[albums_right_shadow].alpha, 0, .1); ); if(layer[thumbs_scrollarea].loverflow GT 3,
  319. tween(layer[thumbs_left_shadow].alpha, 1, .1); , tween(layer[thumbs_left_shadow].alpha, 0, .1); );
  320. if(layer[thumbs_scrollarea].roverflow GT 3, tween(layer[thumbs_right_shadow].alpha, 1, .1); ,
  321. tween(layer[thumbs_right_shadow].alpha, 0, .1); );
  322. </action>
  323. <control mouse="drag" touch="drag" zoomtocursor="false" zoomoutcursor="false" draginertia="0.1" dragfriction="0.9"
  324. movetoaccelerate="1.0" movetospeed="10.0" movetofriction="0.8" keybaccelerate="0.09" keybfriction="0.94"
  325. keybfovchange="0.25" mousefovchange="1.0" fovspeed="3.0" fovfriction="0.9" bouncinglimits="true"/>
  326. <cursors standard="default" dragging="move" moving="move"/>
  327. <include url="%SWFPATH%/plugins/webvr.xml" devices="html5"/>
  328. <!-- pluginurl="" -->
  329. <plugin name="WebVR" keep="true" devices="html5" pluginurl="%SWFPATH%/plugins/webvr.js" url=""
  330. multireslock.desktop="true" multireslock.mobile.or.tablet="false" mobilevr_support="true"
  331. mobilevr_fake_support="true"
  332. onavailable="removelayer(webvr_enterbutton); skin_arrange_buttons(); webvr_onavailable();"
  333. onentervr="hotspot_enterVR();set(webvr_open,true);skin_showloading(false); webvr_onentervr(); webvr_setup(); skin_reloadscene_webvr();js(toggleBtns(''));"
  334. onexitvr="hotspot_exitVR();set(webvr_open,false);webvr_onexitvr(); webvr_setup(); skin_reloadscene_webvr();js(toggleBtns(true));"/>
  335. <style name="webvr_button_style" border="false" roundedge="calc:1.0"
  336. backgroundcolor="get:skin_settings.design_bgcolor" backgroundalpha="get:skin_settings.design_bgalpha"
  337. shadow="0.01" shadowrange="10.0" shadowangle="90.0" shadowcolor="0x30261B" shadowalpha="0.50"
  338. css="calc:skin_settings.design_text_css + ' color:#FFFFFF;font-size:' + 20*webvr_setup_scale*webvr_button_scale + 'px;'"/>
  339. <layer name="webvr_rotate_to_landscape_request" keep="true" vr="true" devices="mobile" url="rotate_device.png"
  340. scale="0.5" align="top" edge="center" y="28%" autoalpha="true" alpha="0.0" enabled="false"/>
  341. <events name="webvr_events" keep="true" devices="html5" onresize.mobile="webvr_act_as_gyro_in_portrait_mode();"
  342. onviewchange=""/>
  343. <action name="webvr_setup">if(webvr.isenabled, copy(loadscene_flags_backup, skin_settings.loadscene_flags);
  344. set(skin_settings.loadscene_flags, MERGE|KEEPVIEW|KEEPMOVING|NOPREVIEW);
  345. webvr_act_as_gyro_in_portrait_mode(true); if(scene.count GT 1, set(hotspot[webvr_prev_scene].visible, true);
  346. set(hotspot[webvr_next_scene].visible, true); set(events[webvr_events].onviewchange, webvr_menu_following()); );
  347. , if(loadscene_flags_backup !== null, copy(skin_settings.loadscene_flags, loadscene_flags_backup));
  348. tween(layer[webvr_rotate_to_landscape_request].alpha, 0.0, 0.0); set(hotspot[webvr_prev_scene].visible, false);
  349. set(hotspot[webvr_next_scene].visible, false); set(events[webvr_events].onviewchange, null); );
  350. </action>
  351. <action name="webvr_act_as_gyro_in_portrait_mode">if(device.mobile AND webvr.isenabled, div(aspect, stagewidth,
  352. stageheight); if(aspect != lastaspect OR '%1' == 'true', copy(lastaspect, aspect); if(stagewidth GT stageheight,
  353. set(display.stereo, true); set(webvr.mobilevr_sensor_mode, 3); webvr.update();
  354. tween(layer[webvr_rotate_to_landscape_request].alpha, 0.0, 0.0); , set(display.stereo, false);
  355. set(webvr.mobilevr_sensor_mode, 1); webvr.update(); tween(layer[webvr_rotate_to_landscape_request].alpha, 1.0);
  356. delayedcall(3.0, tween(layer[webvr_rotate_to_landscape_request].alpha, 0.0, 1.0); ); ); ); , set(lastaspect, 0);
  357. );
  358. </action>
  359. <style name="webvr_menu_style" depth="800" scale="0.5" distorted="true" ath="0" atv="45" alpha="0.5"/>
  360. <hotspot name="webvr_prev_scene" keep="true" style="skin_base|webvr_menu_style" crop="0|64|64|64" ox="-64"
  361. onover="tween(scale,0.6);" onout="tween(scale,0.5);" vr_timeout="750" onclick="skin_nextscene_loop(-1);"
  362. visible="false" devices="html5.and.webgl"/>
  363. <hotspot name="webvr_next_scene" keep="true" style="skin_base|webvr_menu_style" crop="64|64|64|64" ox="+64"
  364. onover="tween(scale,0.6);" onout="tween(scale,0.5);" vr_timeout="750" onclick="skin_nextscene_loop(+1);"
  365. visible="false" devices="html5.and.webgl"/>
  366. <action name="webvr_menu_following" type="Javascript" devices="html5">
  367. <![CDATA[
  368. var hs1 = krpano.get("hotspot[webvr_prev_scene]");
  369. var hs2 = krpano.get("hotspot[webvr_next_scene]");
  370. if(!hs1.hovering && !hs2.hovering)
  371. {
  372. var f = 0.01; // following speed factor
  373. var h = krpano.view.hlookat;
  374. var v = krpano.view.vlookat;
  375. var hsh = hs1.ath;
  376. var hsv = hs1.atv;
  377. h = (h -(h|0)) + (((h|0) +360180)%360) - 180.0;
  378. v = (v -(v|0)) + (((v|0) +360180)%360) - 180.0;
  379. hsh = (hsh-(hsh|0)) + (((hsh|0)+360180)%360) - 180.0;
  380. var dh = h - hsh;
  381. dh += (dh > 180) ? -360 : (dh < -180) ? 360 : 0
  382. hsh += dh*f;
  383. var a = Math.abs(v - hsv) / 90.0;
  384. a = 1.0 * Math.max(1.0 - 2.0*Math.sqrt(a), 0);
  385. v = v + 55.0 - v*1.5;
  386. hsv = hsv*(1.0 - f) + v*f;
  387. hs1.ath = hs2.ath = hsh;
  388. hs1.atv = hs2.atv = hsv;
  389. hs1.alpha = hs2.alpha = a;
  390. }
  391. ]]>
  392. </action>
  393. <style name="skin_base" url="calc:vtourskinxmlpath.url + skin_settings.design_skin_images"/>
  394. <style name="skin_glow" ondown="copy(skin_lockglow,name); skin_buttonglow(get(name)); if(ondown2, ondown2() );"
  395. onover="if(skin_lockglow === null, copy(skin_lockglow,name); skin_buttonglow(get(name),0.3) ); if(onover2, onover2() );"
  396. onout="if(skin_lockglow === name AND !pressed, skin_buttonglow(null);delete(skin_lockglow); ); if(onout2, onout2() );"
  397. onup="if(onup2, onup2()); delayedcall(0, if(hovering AND enabled, skin_buttonglow(get(name),0.3); , skin_buttonglow(null);delete(skin_lockglow); ); );"/>
  398. <style name="skin_thumbtext_style" url="%SWFPATH%/plugins/textfield.swf" align="bottom" width="100%"
  399. autoheight="true" y="0" wordwrap="false" padding="5" enabled="false" background="true"
  400. backgroundcolor="0x000000" backgroundalpha="0.5" border="false"
  401. css="calc:skin_settings.design_text_css + ' text-align:center; font-size:10px;'"
  402. textshadow="get:skin_settings.design_text_shadow"/>
  403. <style name="skin_hotspotstyle" url="vtourskin_hotspot.png" scale="0.5" edge="top" distorted="true" tooltip=""
  404. onclick="if(linkedscene, set(enabled,false); skin_hidetooltips(); tween(depth|alpha|oy|rx, 4000|0.0|-50|-60, 0.5, default, loadscene(get(linkedscene),null,get(skin_settings.loadscene_flags),get(skin_settings.loadscene_blend)); skin_updatescroll(); ); );"
  405. onover="tween(scale,0.55);" onout="tween(scale,0.5);"
  406. onloaded="if(linkedscene AND skin_settings.tooltips_hotspots, copy(tooltip,scene[get(linkedscene)].title); loadstyle(skin_tooltips); );"/>
  407. <style name="skin_tooltips"
  408. onover.mouse="copy(layer[skin_tooltip].html, tooltip); set(layer[skin_tooltip].visible, true); tween(layer[skin_tooltip].alpha, 1.0, 0.1); asyncloop(hovering, copy(layer[skin_tooltip].x,mouse.stagex); copy(layer[skin_tooltip].y,mouse.stagey); );"
  409. onout.mouse="tween(layer[skin_tooltip].alpha, 0.0, 0.1, default, set(layer[skin_tooltip].visible,false), copy(layer[skin_tooltip].x,mouse.stagex); copy(layer[skin_tooltip].y,mouse.stagey); );"/>
  410. <layer name="skin_tooltip" keep="true" url="%SWFPATH%/plugins/textfield.swf" parent="STAGE" visible="false"
  411. alpha="0" enabled="false" align="lefttop" edge="bottom" oy="-2" width="200" autoheight="true"
  412. background="false" backgroundcolor="0xFFFFFF" backgroundalpha="1.0" border="false" bordercolor="0x000000"
  413. borderalpha="1.0" borderwidth="1.0" roundedge="0" shadow="0.0" shadowrange="4.0" shadowangle="45"
  414. shadowcolor="0x000000" shadowalpha="1.0" textshadow="get:skin_settings.design_text_shadow"
  415. textshadowrange="6.0" textshadowangle="90" textshadowcolor="0x000000" textshadowalpha="1.0"
  416. css="calc:skin_settings.design_text_css + ' text-align:center; font-size:16px;'" html=""/>
  417. <layer name="skin_layer" keep="true" type="container" align="top" width="get:skin_settings.layout_width"
  418. maxwidth="get:skin_settings.layout_maxwidth" height="100%" maskchildren="true" visible="false"
  419. bgcapture="false" zorder="1">
  420. <layer name="skin_loadingtext" url="%SWFPATH%/plugins/textfield.swf" align="center" x="5" y="-5"
  421. html="get:skin_settings.loadingtext" visible="false" autoheight="true" background="false" border="false"
  422. enabled="false"
  423. css="calc:skin_settings.design_text_css + ' text-align:center; font-style:italic; font-size:22px;'"
  424. textshadow="get:skin_settings.design_text_shadow"/>
  425. </layer>
  426. <plugin name="skin_gyro" keep="true" url="" html5_url="%SWFPATH%/plugins/gyro2.js" devices="html5" enabled="false"
  427. onavailable="js(showGyroBtn());" softstart="2"/>
  428. <events name="init_view_event" keep="true" onxmlcomplete=""/>
  429. <events name="skin_events" keep="true"
  430. onxmlcomplete="set(events[skin_events].onxmlcomplete,null); skin_startup();js(showPanoBtns(get(scene.count)));"
  431. onnewpano="skin_showloading(true); skin_update_scene_infos(); skin_deeplinking_update_url();"
  432. onremovepano="skin_showloading(true);" onloadcomplete="skin_showloading(false);"
  433. onidle="skin_deeplinking_update_url();" onresize="skin_onresize();"
  434. onenterfullscreen.fullscreensupport="set(layer[skin_btn_fs].crop, '64|576|64|64');"
  435. onexitfullscreen.fullscreensupport="set(layer[skin_btn_fs].crop, '0|576|64|64');"
  436. onkeydown="skin_keydown_event();" onnewscene="" onmouseup=""/>
  437. <action name="init_gyro">
  438. if(skin_settings.gyro AND !device.desktop AND device.html5
  439. ,
  440. copy(plugin[skin_gyro].url,plugin[skin_gyro].html5_url);
  441. );
  442. </action>
  443. <action name="skin_startup">
  444. <!-- if(skin_settings.gyro AND !device.desktop AND device.html5
  445. ,
  446. copy(plugin[skin_gyro].url,plugin[skin_gyro].html5_url);
  447. );
  448. -->
  449. if(skin_settings.webvr AND device.html5 AND device.webgl
  450. ,
  451. copy(plugin[WebVR].url, plugin[WebVR].pluginurl);
  452. js(showWebvrBtn());
  453. );
  454. <!-- if(skin_settings.littleplanetintro AND(device.webgl OR device.flash), -->
  455. if(skin_settings.littleplanetintro AND (device.webgl OR device.flash) ,
  456. js(littlePlaneOpen(get(xml.scene)));
  457. ,
  458. init_gyro();
  459. set(events[init_view_event].onnewscene,'js(initViewSetting(get(xml.scene)));js(getComment(get(xml.scene)));js(initHotspotSetting(get(xml.scene)));');
  460. );
  461. <!-- if(skin_settings.littleplanetintro AND (device.webgl OR device.flash),
  462. js(littlePlaneOpen(get(xml.scene)));
  463. ); -->
  464. set(layer[skin_layer].visible, true);
  465. </action>
  466. <!-- <action name="skin_addthumbs">if(skin_settings.thumbs == false, set(layer[skin_btn_thumbs].visible,false); ,
  467. copy(thumbwidth, skin_settings.thumbs_width); copy(thumbheight, skin_settings.thumbs_height); copy(thumbpadding,
  468. skin_settings.thumbs_padding); copy(thumbcrop, skin_settings.thumbs_crop); add(thumbxoffset, thumbwidth,
  469. thumbpadding); mul(thumbxcenter, thumbxoffset, 0.5); mul(thumbbarwidth, thumbxoffset, scene.count);
  470. add(thumbbarwidth, thumbpadding); add(thumbbarheight, thumbpadding, thumbheight); add(thumbbarheight,
  471. thumbpadding); if(skin_settings.thumbs_scrollindicator, copy(layer[skin_thumbs_scrollindicator].y,
  472. thumbbarheight); add(thumbbarheight, layer[skin_thumbs_scrollindicator].height); );
  473. copy(layer[skin_thumbs].height, thumbbarheight); copy(layer[skin_thumbs].width, thumbbarwidth); mul(halfheight,
  474. thumbbarheight, 0.5); copy(layer[skin_thumbs_scrollleft].y, halfheight); copy(layer[skin_thumbs_scrollright].y,
  475. halfheight); set(thumb_cnt,0); for(set(i,0), i LT scene.count, inc(i), inc(thumb_cnt);
  476. txtadd(thumbname,'skin_thumb_',get(i)); addlayer(get(thumbname)); copy(layer[get(thumbname)].url,
  477. scene[get(i)].thumburl); set(layer[get(thumbname)].keep, true); set(layer[get(thumbname)].parent,
  478. 'skin_thumbs'); set(layer[get(thumbname)].align, lefttop); copy(layer[get(thumbname)].crop, thumbcrop);
  479. copy(layer[get(thumbname)].width, thumbwidth); copy(layer[get(thumbname)].height, thumbheight); mul(thumbx, i,
  480. thumbxoffset); add(thumbx, thumbpadding); copy(layer[get(thumbname)].x, thumbx); copy(layer[get(thumbname)].y,
  481. thumbpadding); add(scene[get(i)].thumbx, thumbx, thumbxcenter); copy(scene[get(i)].thumby, thumbpadding);
  482. set(layer[get(thumbname)].linkedscene, get(scene[get(i)].name) ); set(layer[get(thumbname)].onclick,
  483. copy(layer[skin_thumbborder].parent, name);
  484. loadscene(get(linkedscene),null,get(skin_settings.loadscene_flags),get(skin_settings.loadscene_blend)); );
  485. if(skin_settings.tooltips_thumbs, set(layer[get(thumbname)].tooltip, get(scene[get(i)].title) );
  486. layer[get(thumbname)].loadstyle(skin_tooltips); ); if(skin_settings.thumbs_text, txtadd(thumbtext,
  487. 'skin_thumbtext_', get(i)); addlayer(get(thumbtext)); layer[get(thumbtext)].loadstyle(skin_thumbtext_style);
  488. set(layer[get(thumbtext)].keep, true); set(layer[get(thumbtext)].parent, get(thumbname));
  489. set(layer[get(thumbtext)].html, get(scene[get(i)].title)); ); ); if(thumb_cnt == 1,
  490. set(layer[skin_thumbs].align, 'lefttop'); ); );
  491. </action> -->
  492. <action name="skin_addmapspots">
  493. for(set(i,0), i LT scene.count, inc(i),
  494. if(scene[get(i)].lat,
  495. txtadd(spotname,'spot', get(i)); txtadd(spotclickevent, 'skin_hidetooltips(); activatespot(',get(spotname),');
  496. loadscene(',get(scene[get(i)].name), ',null,get(skin_settings.loadscene_flags),get(skin_settings.loadscene_blend));
  497. skin_updatescroll();
  498. delayedcall(0.5,skin_showmap(false));');
  499. copy(scene[get(i)].mapspotname, spotname);
  500. addspot(get(spotname), get(scene[get(i)].lat), get(scene[get(i)].lng), get(scene[get(i)].heading), false,
  501. get(spotclickevent), null);
  502. if(skin_settings.tooltips_mapspots,
  503. set(layer[skin_map].spot[get(spotname)].tooltip
  504. ,
  505. get(scene[get(i)].title));
  506. txtadd(layer[skin_map].spot[get(spotname)].onover, 'set(hovering,true);',get(style[skin_tooltips].onover) );
  507. txtadd(layer[skin_map].spot[get(spotname)].onout, 'set(hovering,false);',get(style[skin_tooltips].onout) );
  508. );
  509. );
  510. );
  511. if(xml.scene != null, activatespot(get(scene[get(xml.scene)].mapspotname) ); , activatespot(spot0); );
  512. zoomToSpotsExtent();
  513. </action>
  514. <action name="skin_setup_littleplanetintro">
  515. copy(lp_scene, xml.scene);
  516. copy(lp_hlookat, view.hlookat);
  517. copy(lp_vlookat, view.vlookat);
  518. copy(lp_fov, view.fov); copy(lp_fovmax, view.fovmax);
  519. copy(lp_limitview,view.limitview);
  520. set(view.fovmax, 170);
  521. set(view.limitview, lookto);
  522. set(view.vlookatmin, 90);
  523. set(view.vlookatmax, 90);
  524. lookat(calc(lp_hlookat - 180), 90, 150, 1, 0, 0);
  525. set(
  526. events[lp_events].onloadcomplete,
  527. delayedcall(
  528. 0.5,
  529. if(
  530. lp_scene === xml.scene,
  531. set(control.usercontrol, off);
  532. copy(view.limitview, lp_limitview);
  533. set(view.vlookatmin, null);
  534. set(view.vlookatmax, null);
  535. tween(view.hlookat|view.vlookat|view.fov|view.distortion,
  536. calc('' + lp_hlookat + '|' + lp_vlookat + '|' + lp_fov + '|' + 0.0), 3.0, easeOutQuad, set(control.usercontrol, all);
  537. tween(view.fovmax, get(lp_fovmax));
  538. set(view.fovmin,%1);
  539. set(view.vlookatmin,%2);
  540. set(view.vlookatmax,%3);
  541. set(autorotate.horizon,%4);
  542. js(getComment(get(xml.scene)));
  543. js(initHotspotSetting(get(xml.scene)));
  544. set(events[init_view_event].onnewscene,'js(initViewSetting(get(xml.scene)));js(getComment(get(xml.scene)));
  545. js(initHotspotSetting(get(xml.scene)));');
  546. );
  547. delayedcall(3,init_gyro(););
  548. );
  549. );
  550. );
  551. </action>
  552. <!-- <action name="skin_setup_littleplanetintro">
  553. copy(lp_scene, xml.scene);
  554. copy(lp_hlookat, view.hlookat);
  555. copy(lp_vlookat, view.vlookat);
  556. copy(lp_fov, view.fov);
  557. copy(lp_fovmax, view.fovmax);
  558. copy(lp_limitview, view.limitview);
  559. set(view.fovmax, 170);
  560. set(view.limitview, lookto);
  561. set(view.vlookatmin, 90);
  562. set(view.vlookatmax, 90);
  563. set_hotspot_visible(false);
  564. set(layer[skin_layer].visible,false);set(layer[skin_layer].alpha,0);
  565. set(layer[skin_control_bar].visible,false);set(layer[skin_control_bar].alpha,0);
  566. set(layer[skin_splitter_bottom].visible,false);set(layer[skin_splitter_bottom].alpha,0);
  567. lookat(calc(lp_hlookat - 180), 90, 150, 1, 0, 0);
  568. set(events[lp_events].onloadcomplete,
  569. delayedcall(2.5,
  570. if(lp_scene === xml.scene,
  571. set(control.usercontrol, off);
  572. copy(view.limitview, lp_limitview);
  573. set(view.vlookatmin, null);
  574. set(view.vlookatmax, null);
  575. tween(view.hlookat|view.vlookat|view.fov|view.distortion, calc('' + lp_hlookat + '|' + lp_vlookat + '|' + lp_fov + '|' + 0.0),
  576. 3.0, easeOutQuad,
  577. set(control.usercontrol, all);
  578. tween(view.fovmax, get(lp_fovmax));
  579. );
  580. set_hotspot_visible(true);
  581. set(layer[skin_layer].visible,true);tween(layer[skin_layer].alpha,1,1);
  582. set(layer[skin_control_bar].visible,true);tween(layer[skin_control_bar].alpha,1,1);
  583. set(layer[skin_splitter_bottom].visible,true);tween(layer[skin_splitter_bottom].alpha,1,1);
  584. );
  585. );
  586. );
  587. </action> -->
  588. <action name="set_hotspot_visible">
  589. for(set(i,0),i LT hotspot.count,inc(i),
  590. if(%1 == false,
  591. if(hotspot[get(i)].visible == true,
  592. set(hotspot[get(i)].mark,true);set(hotspot[get(i)].visible,%1);
  593. );
  594. ,
  595. if(hotspot[get(i)].mark == true,
  596. set(hotspot[get(i)].visible,%1);
  597. );
  598. );
  599. );
  600. </action>
  601. <action name="skin_onresize">mul(mh, area.pixelheight, -1); if(layer[skin_thumbs].state == 'opened',
  602. add(mh,layer[skin_thumbs].height); set(layer[skin_scroll_layer].y, 97); , set(layer[skin_scroll_layer].y,
  603. get(mh)); ); if(layer[skin_map].state == 'opened', sub(hh,area.pixelheight,skin_settings.controlbar_offset);
  604. sub(hh,layer[skin_control_bar].height); sub(hh,32); add(mh,hh); add(mh,skin_settings.controlbar_overlap);
  605. sub(mh, layer[skin_scroll_layer].y_offset); copy(layer[skin_map].height, hh); ); add(mh,
  606. layer[skin_scroll_layer].y_offset); skin_video_updateseekbarwidth(); skin_arrange_buttons();
  607. </action>
  608. <action name="skin_arrange_buttons">calc(show_selbuttons, scene.count GT 1); calc(show_thumbutton,
  609. skin_settings.thumbs == true); calc(show_mapbutton, skin_settings.maps == true); calc(show_gyrobutton,
  610. plugin[skin_gyro].available == true AND view.vlookatrange == 180 ); calc(show_vrbutton, webvr.isavailable ==
  611. true); calc(show_fsbutton, device.fullscreensupport == true); set(lpos,6); set(cpos,0); if(show_gyrobutton,
  612. dec(cpos,20)); if(show_vrbutton, dec(cpos,24)); set(rpos,6); calc(show_dirbuttons, !device.mobile AND
  613. ((area.pixelwidth + 2*cpos) GT 520)); copy(layer[skin_btn_navi].visible, show_dirbuttons);
  614. copy(layer[skin_btn_prev].visible, show_selbuttons); copy(layer[skin_btn_next].visible, show_selbuttons);
  615. if(show_selbuttons, inc(lpos,44); inc(rpos,44); ); copy(layer[skin_btn_thumbs].visible, show_thumbutton);
  616. copy(layer[skin_btn_thumbs].x, lpos); if(show_thumbutton, inc(lpos,40)); copy(layer[skin_btn_map].visible,
  617. show_mapbutton); copy(layer[skin_btn_map].x, lpos); if(show_mapbutton, inc(lpos,40)); if(show_dirbuttons,
  618. copy(layer[skin_btn_navi].x, cpos); inc(cpos,140); set(layer[skin_btn_gyro].align, center);
  619. copy(layer[skin_btn_gyro].visible, show_gyrobutton); copy(layer[skin_btn_gyro].x, cpos); if(show_gyrobutton,
  620. inc(cpos,48)); set(layer[skin_btn_vr].align, center); copy(layer[skin_btn_vr].visible, show_vrbutton);
  621. copy(layer[skin_btn_vr].x, cpos); if(show_vrbutton, inc(cpos,80)); , set(layer[skin_btn_gyro].align, left);
  622. copy(layer[skin_btn_gyro].visible, show_gyrobutton); copy(layer[skin_btn_gyro].x, lpos); if(show_gyrobutton,
  623. inc(lpos,40)); set(layer[skin_btn_vr].align, left); copy(layer[skin_btn_vr].visible, show_vrbutton);
  624. copy(layer[skin_btn_vr].x, lpos); if(show_vrbutton, inc(lpos,80)); ); copy(layer[skin_btn_hide].x, rpos);
  625. inc(rpos,40); copy(layer[skin_btn_fs].visible, show_fsbutton); copy(layer[skin_btn_fs].x, rpos);
  626. if(show_fsbutton, inc(rpos,40));
  627. </action>
  628. <action name="skin_updatescroll">if(layer[skin_thumbs].loaded, set(cursceneindex, 0); if(xml.scene,
  629. copy(cursceneindex, scene[get(xml.scene)].index));
  630. layer[skin_thumbs].setcenter(get(scene[get(cursceneindex)].thumbx), get(scene[get(cursceneindex)].thumby)); );
  631. </action>
  632. <action name="skin_updatethumbscroll">copy(padding,skin_settings.thumbs_padding);
  633. if(skin_settings.thumbs_scrollbuttons, if(loverflow GT 0, set(layer[skin_thumbs_scrollleft].visible,true),
  634. set(layer[skin_thumbs_scrollleft].visible,false) ); if(roverflow GT 0,
  635. set(layer[skin_thumbs_scrollright].visible,true), set(layer[skin_thumbs_scrollright].visible,false) ); );
  636. if(skin_settings.thumbs_scrollindicator, if(woverflow GT 0,
  637. set(layer[skin_thumbs_scrollindicator].visible,true); sub(iw,pixelwidth,woverflow); div(pw,iw,pixelwidth);
  638. div(px,loverflow,woverflow); mul(pw,iw); copy(layer[skin_thumbs_scrollindicator].width,pw); sub(iw,pw);
  639. sub(iw,padding); sub(iw,padding); mul(px,iw); add(px,padding); copy(layer[skin_thumbs_scrollindicator].x,px); ,
  640. set(layer[skin_thumbs_scrollindicator].visible,false); ); );
  641. </action>
  642. <action name="skin_update_scene_infos">if(xml.scene !== null AND scene[get(xml.scene)].index GE 0,
  643. if(skin_settings.title, if(title, txtadd(layer[skin_title].html, get(title), ' - ',
  644. get(scene[get(xml.scene)].title) ); , copy(layer[skin_title].html, scene[get(xml.scene)].title ); );
  645. delayedcall(0.1, set(layer[skin_title].visible,true) ); ); if(skin_settings.thumbs_loop == false,
  646. if(scene[get(xml.scene)].index GT 0, set(layer[skin_btn_prev].enabled, true); set(layer[skin_btn_prev].alpha,
  647. 1.0); , set(layer[skin_btn_prev].enabled, false); set(layer[skin_btn_prev].alpha, 0.3); ); sub(lastsceneindex,
  648. scene.count, 1); if(scene[get(xml.scene)].index LT lastsceneindex, set(layer[skin_btn_next].enabled, true);
  649. set(layer[skin_btn_next].alpha, 1.0); , set(layer[skin_btn_next].enabled, false);
  650. set(layer[skin_btn_next].alpha, 0.3); ); , if(scene.count GT 1, set(layer[skin_btn_prev].enabled, true);
  651. set(layer[skin_btn_prev].alpha, 1.0); set(layer[skin_btn_next].enabled, true); set(layer[skin_btn_next].alpha,
  652. 1.0); , set(layer[skin_btn_prev].enabled, false); set(layer[skin_btn_prev].alpha, 0.3);
  653. set(layer[skin_btn_next].enabled, false); set(layer[skin_btn_next].alpha, 0.3); ); ); if(scene.count GT 1,
  654. set(layer[skin_btn_prev_fs].visible, true); set(layer[skin_btn_next_fs].visible, true); ,
  655. set(layer[skin_btn_prev_fs].visible, false); set(layer[skin_btn_next_fs].visible, false); ); txtadd(parentname,
  656. 'skin_thumb_', get(scene[get(xml.scene)].index)); if(layer[get(parentname)], set(layer[skin_thumbborder].parent,
  657. get(parentname)); set(layer[skin_thumbborder].visible, true); , set(layer[skin_thumbborder].visible, false); );
  658. if(scene[get(xml.scene)].mapspotname, layer[skin_map].activatespot(get(scene[get(xml.scene)].mapspotname));
  659. layer[skin_map].pantospot(get(scene[get(xml.scene)].mapspotname)); ); if(plugin[skin_gyro].isavailable == true
  660. AND view.vlookatrange == 180, set(layer[skin_btn_gyro].visible, true); , set(layer[skin_btn_gyro].visible,
  661. false) ); if(view.vlookatrange LT 180, if(backup_control_bouncinglimits === null,
  662. copy(backup_control_bouncinglimits, control.bouncinglimits); ); set(control.bouncinglimits, false); ,
  663. if(backup_control_bouncinglimits !== null, copy(control.bouncinglimits, backup_control_bouncinglimits); ); );
  664. if(scene[get(xml.scene)].isvideopano AND plugin[video] !== null, skin_video_addcontrols(); ,
  665. skin_video_removecontrols(); ); );
  666. </action>
  667. <action name="skin_gotoscene">if(scene[%1], copy(cursceneindex, scene[get(xml.scene)].index); copy(newsceneindex,
  668. scene[%1].index); txtadd(layer[skin_thumbborder].parent, 'skin_thumb_', get(newsceneindex));
  669. layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
  670. loadscene(get(scene[get(newsceneindex)].name),null,get(skin_settings.loadscene_flags),calc(newsceneindex LT
  671. cursceneindex ? skin_settings.loadscene_blend_prev : (newsceneindex GT cursceneindex ?
  672. skin_settings.loadscene_blend_next : skin_settings.loadscene_blend))); );
  673. </action>
  674. <action name="skin_nextscene">add(newsceneindex, scene[get(xml.scene)].index, %1); if(newsceneindex GE 0 AND
  675. newsceneindex LT scene.count, txtadd(layer[skin_thumbborder].parent, 'skin_thumb_', get(newsceneindex));
  676. layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
  677. loadscene(get(scene[get(newsceneindex)].name),null,get(skin_settings.loadscene_flags),calc(%1 LT 0 ?
  678. skin_settings.loadscene_blend_prev : skin_settings.loadscene_blend_next)); );
  679. </action>
  680. <action name="skin_nextscene_loop">add(newsceneindex, scene[get(xml.scene)].index, %1); sub(lastsceneindex,
  681. scene.count, 1); if(newsceneindex LT 0, copy(newsceneindex,lastsceneindex)); if(newsceneindex GT lastsceneindex,
  682. set(newsceneindex,0)); layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx),
  683. get(scene[get(newsceneindex)].thumby));
  684. loadscene(get(scene[get(newsceneindex)].name),null,get(skin_settings.loadscene_flags),calc(%1 LT 0 ?
  685. skin_settings.loadscene_blend_prev : skin_settings.loadscene_blend_next));
  686. </action>
  687. <action name="skin_showloading">if(display.stereo == true, set(layer[skin_loadingtext].visible, false); ,
  688. set(layer[skin_loadingtext].visible, %1); );
  689. </action>
  690. <action name="skin_hidetooltips">set(layer[skin_tooltip].alpha,0.0); set(layer[skin_tooltip].visible,false);
  691. </action>
  692. <action name="skin_buttonglow">if('%1' !== 'null', set(strength,0.7); if(%2 != null, set(strength,%2));
  693. set(layer[skin_buttonglow].parent, %1); set(layer[skin_buttonglow].visible, true);
  694. tween(layer[skin_buttonglow].alpha, get(strength), 0.07); , tween(layer[skin_buttonglow].alpha, 0.0, 0.1,
  695. default, set(layer[skin_buttonglow].parent, null); set(layer[skin_buttonglow].visible, false); ); );
  696. </action>
  697. <action name="skin_calc_opened_closed">set(layer[get(name)].y_opened, get(layer[get(name)].y));
  698. set(layer[get(name)].y_closed, calc(layer[get(name)].y - skin_settings.controlbar_offset -
  699. skin_settings.controlbar_height + skin_settings.controlbar_offset_closed));
  700. </action>
  701. <action name="skin_hideskin">if(layer[skin_map].state != 'closed', skin_showmap(false); wait(0.40); );
  702. if(layer[skin_thumbs].state != 'closed', skin_showthumbs(false); wait(0.25); ); set(hidetime, calc('%1' ==
  703. 'instant' ? 0.0 : 0.5)); tween(layer[skin_scroll_window].y, get(layer[skin_scroll_window ].y_closed),
  704. get(hidetime)); tween(layer[skin_splitter_bottom].y, get(layer[skin_splitter_bottom].y_closed), get(hidetime));
  705. tween(layer[skin_control_bar].y, get(layer[skin_control_bar ].y_closed), get(hidetime));
  706. tween(layer[skin_btn_prev_fs].x, 0, get(hidetime)); tween(layer[skin_btn_next_fs].x, 0, get(hidetime));
  707. if(layer[skin_logo], tween(layer[skin_logo].alpha, 0.0, 0.5, default, set(layer[skin_logo].visible,false)); );
  708. stopdelayedcall(skin_btn_show_alpha); set(layer[skin_btn_show].visible, true); delayedcall(skin_btn_show_alpha,
  709. get(hidetime), tween(layer[skin_btn_show].alpha, 0.25, 0.25); );
  710. </action>
  711. <action name="skin_showskin">tween(layer[skin_scroll_window ].y, get(layer[skin_scroll_window ].y_opened));
  712. tween(layer[skin_splitter_bottom].y, get(layer[skin_splitter_bottom].y_opened)); tween(layer[skin_control_bar
  713. ].y, get(layer[skin_control_bar ].y_opened)); tween(layer[skin_btn_prev_fs].x, -50);
  714. tween(layer[skin_btn_next_fs].x, -50); if(layer[skin_logo], set(layer[skin_logo].visible,true);
  715. tween(layer[skin_logo].alpha, 1.0); ); stopdelayedcall(skin_btn_show_alpha); set(layer[skin_btn_show].visible,
  716. false); delayedcall(skin_btn_show_alpha, 0.25, tween(layer[skin_btn_show].alpha, 0.0, 0.0); );
  717. </action>
  718. <action name="skin_showthumbs">
  719. if(!webvr_open,
  720. if(%1 == null,
  721. if(layer[thumbs_background].state == 'closed',
  722. set(show,true),
  723. set(show,false)
  724. );
  725. ,
  726. set(show,%1);
  727. );
  728. if(
  729. show,
  730. set(layer[thumbs_background].state, 'opened');
  731. tween(layer[thumbs_background].y, 97, 0.5, easeOutQuint);
  732. set(layer[thumbs_background].visible, true);
  733. if(scene[0].album,
  734. if(!last_show_sub_container,
  735. set(last_show_sub_container,"album_0_container");
  736. );
  737. set(layer[get(last_show_sub_container)].state, 'opened');
  738. tween(layer[get(last_show_sub_container)].y, 202, 0.5, easeOutQuint);
  739. );
  740. ,
  741. set(layer[thumbs_background].state, 'closed');
  742. tween(layer[thumbs_background].y, -102, 0.5, easeOutQuint,
  743. set(layer[thumbs_background].visible, false););
  744. if(last_show_sub_container,
  745. set(layer[get(last_show_sub_container)].state, 'closed');
  746. tween(layer[get(last_show_sub_container)].y, -102, 0.5, easeOutQuint);
  747. );
  748. );
  749. );
  750. </action>
  751. <action name="skin_showmap">if(%1 == null, if(layer[skin_map].state == 'closed', set(show,true), set(show,false)); ,
  752. set(show,%1); ); mul(mh, layer[skin_scroll_layer].pixelheight, -1); if(show,
  753. tween(layer[skin_thumbs_container].alpha, 0.0, 0.25, default, set(layer[skin_thumbs_container].visible,false));
  754. set(layer[skin_map].visible, true); tween(layer[skin_map].alpha, 1.0, 0.25); set(layer[skin_map].state,
  755. 'opened'); sub(hh,area.pixelheight,skin_settings.controlbar_offset); sub(hh,layer[skin_control_bar].height);
  756. sub(hh,32); add(mh,hh); sub(hh,skin_settings.controlbar_overlap); copy(layer[skin_map].height, hh);
  757. tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint); , if(layer[skin_map].state != 'closed',
  758. set(layer[skin_map].state, 'closed'); add(mh, layer[skin_scroll_layer].y_offset); tween(layer[skin_map].alpha,
  759. 0.0, 0.5, easeOutQuint); tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint,
  760. set(layer[skin_map].visible,false) ); ); );
  761. </action>
  762. <action name="skin_keydown_event">if(keycode == 33, skin_nextscene_loop(-1) ); if(keycode == 34,
  763. skin_nextscene_loop(+1) ); if(keycode == 35, skin_gotoscene(calc(scene.count-1)) ); if(keycode == 36,
  764. skin_gotoscene(0) );
  765. </action>
  766. <action name="skin_deeplinking_update_url"></action>
  767. <action name="skin_reloadscene_webvr">delayedcall(0.1, if(scene[get(xml.scene)].havevrimage,
  768. loadscene(get(xml.scene), null, MERGE|KEEPVIEW|KEEPMOVING|KEEPPLUGIN|NOPREVIEW, BLEND(0.5)); ); );
  769. </action>
  770. <action name="skin_video_addcontrols">set(events[skin_events].onclick, skin_video_clickevent() );
  771. set(plugin[video].onvideoready, skin_video_updatestate() ); set(plugin[video].onvideoplay,
  772. skin_video_updatestate() ); set(plugin[video].onvideopaused, skin_video_updatestate() );
  773. set(plugin[video].onvideocomplete, skin_video_updatestate() ); if(plugin[video].ispaused AND
  774. plugin[video].pausedonstart, set(layer[skin_video_playpause].state, 'visible');
  775. set(layer[skin_video_playpause].enabled, true); tween(layer[skin_video_playpause].alpha, 1.0); );
  776. delayedcall(skin_video_delayedvisible, 0.25, set(layer[skin_video_controls].visible, true) );
  777. skin_video_updateseekbarwidth(); set(layer[skin_video_seekpos].x,0); set(layer[skin_video_loadbar].width,0);
  778. setinterval(skin_video_seek_updates, 0.5, skin_video_updatetime() );
  779. </action>
  780. <action name="skin_video_removecontrols">stopdelayedcall(skin_video_delayedvisible);
  781. set(events[skin_events].onclick, null); set(layer[skin_video_playpause].alpha, 0.0);
  782. set(layer[skin_video_controls].visible, false); clearinterval(skin_video_seek_updates);
  783. </action>
  784. <action name="skin_video_updatetime">copy(t1, plugin[video].time); copy(t2, plugin[video].totaltime); if(%1 !==
  785. null, calc(t1, %1 * t2); ); div(t1_min, t1, 60); mod(t1_sec, t1, 60); Math.floor(t1_min); Math.floor(t1_sec);
  786. div(t2_min, t2, 60); mod(t2_sec, t2, 60); Math.floor(t2_min); Math.floor(t2_sec);
  787. calc(layer[skin_video_time].html, t1_min + ':' + (t1_sec LT 10 ? '0' : '') + t1_sec + ' / ' + t2_min + ':' +
  788. (t2_sec LT 10 ? '0' : '') + t2_sec); calc(layer[skin_video_seekpos].x, (t1 / t2 * 100) + '%');
  789. calc(layer[skin_video_loadbar].width, (plugin[video].loadedbytes / plugin[video].totalbytes * 100) + '%');
  790. </action>
  791. <action name="skin_video_updateseekbarwidth">if(skin_settings.title, calc(layer[skin_video_seekbar_container].width,
  792. 0 - (32 + layer[skin_title].pixelwidth + layer[skin_video_time].pixelwidth));
  793. calc(layer[skin_video_seekbar_container].x, layer[skin_title].pixelwidth + 16); ,
  794. calc(layer[skin_video_seekbar_container].width, 0 - (24 + layer[skin_video_time].pixelwidth));
  795. set(layer[skin_video_seekbar_container].x, 8); );
  796. </action>
  797. <action name="skin_video_ondownseeking">asyncloop(pressed, screentolayer(skin_video_seekbar,
  798. mouse.stagex,mouse.stagey, lx,ly); calc(seekpos, lx / layer[skin_video_seekbar].pixelwidth); clamp(seekpos, 0.0,
  799. 1.0); skin_video_updatetime(seekpos); , plugin[video].seek(calc((seekpos * 100) + '%')); );
  800. </action>
  801. <layer name="skin_video_playpause" keep="true" style="skin_base|skin_glow" crop="0|640|64|64" scale="0.75"
  802. align="center" alpha="0.0" autoalpha="true" state="hidden" onclick="skin_video_playpause_click();"/>
  803. <action name="skin_video_updatestate">calc(layer[skin_video_playpause].crop, plugin[video].ispaused ? '0|640|64|64'
  804. : '64|640|64|64'); if(plugin[video].iscomplete, set(layer[skin_video_playpause].state, 'visible');
  805. tween(layer[skin_video_playpause].alpha, 1.0); );
  806. </action>
  807. <action name="skin_video_playpause_click">if(plugin[video].ispaused, plugin[video].play();
  808. set(layer[skin_video_playpause].state, 'hidden'); tween(layer[skin_video_playpause].alpha, 0.0); ,
  809. plugin[video].pause(); set(layer[skin_video_playpause].state, 'visible');
  810. tween(layer[skin_video_playpause].alpha, 1.0); delayedcall(autohide_pp, 2.0,
  811. set(layer[skin_video_playpause].state,'hidden'); tween(layer[skin_video_playpause].alpha, 0.0); ); );
  812. </action>
  813. <action name="skin_video_clickevent">stopdelayedcall(autohide_pp); switch(layer[skin_video_playpause].state,
  814. 'visible', 'hidden'); if(layer[skin_video_playpause].state == 'hidden', tween(layer[skin_video_playpause].alpha,
  815. 0.0); , tween(layer[skin_video_playpause].alpha, 1.0); delayedcall(autohide_pp, 2.0,
  816. set(layer[skin_video_playpause].state,'hidden'); tween(layer[skin_video_playpause].alpha, 0.0); ); );
  817. </action>
  818. <contextmenu fullscreen="false" versioninfo="false">
  819. <item name="cc" caption="更改控制模式" onclick="skin_changecontrolmode();" separator="true"/>
  820. <item name="nv" caption="正常视角" onclick="skin_view_normal();" showif="view.vlookatrange == 180"
  821. separator="true"/>
  822. <item name="fv" caption="鱼眼视角" onclick="skin_view_fisheye();" showif="view.vlookatrange == 180"
  823. devices="flash|webgl"/>
  824. <item name="sv" caption="立体视角" onclick="skin_view_stereographic();" showif="view.vlookatrange == 180"
  825. devices="flash|webgl"/>
  826. <item name="av" caption="建筑视角" onclick="skin_view_architectural();" showif="view.vlookatrange == 180"/>
  827. <item name="pv" caption="帕尼尼视角" onclick="skin_view_pannini();" showif="view.vlookatrange == 180"
  828. devices="flash|webgl"/>
  829. <item name="lp" caption="小行星视角" onclick="skin_view_littleplanet();" showif="view.vlookatrange == 180"
  830. devices="flash|webgl"/>
  831. </contextmenu>
  832. <action name="skin_changecontrolmode">switch(control.mouse, moveto, drag); switch(control.touch, moveto, drag);
  833. </action>
  834. <action name="skin_view_look_straight">if(view.vlookat LT -80 OR view.vlookat GT +80, tween(view.vlookat, 0.0, 1.0,
  835. easeInOutSine); tween(view.fov, 100, distance(150,0.8)); );
  836. </action>
  837. <action name="skin_view_normal">skin_view_look_straight(); tween(view.architectural, 0.0, distance(1.0,0.5));
  838. tween(view.pannini, 0.0, distance(1.0,0.5)); tween(view.distortion, 0.0, distance(1.0,0.5));
  839. </action>
  840. <action name="skin_view_fisheye">skin_view_look_straight(); tween(view.architectural, 0.0, distance(1.0,0.5));
  841. tween(view.pannini, 0.0, distance(1.0,0.5)); tween(view.distortion, 0.35, distance(1.0,0.5));
  842. </action>
  843. <action name="skin_view_architectural">skin_view_look_straight(); tween(view.architectural, 1.0, distance(1.0,0.5));
  844. tween(view.pannini, 0.0, distance(1.0,0.5)); tween(view.distortion, 0.0, distance(1.0,0.5));
  845. </action>
  846. <action name="skin_view_stereographic">skin_view_look_straight(); tween(view.architectural, 0.0, distance(1.0,0.5));
  847. tween(view.pannini, 0.0, distance(1.0,0.5)); tween(view.distortion, 1.0, distance(1.0,0.8));
  848. </action>
  849. <action name="skin_view_pannini">skin_view_look_straight(); tween(view.architectural, 0.0, distance(1.0,0.5));
  850. tween(view.pannini, 1.0, distance(1.0,0.8)); if(view.distortion LT 0.1, tween(view.distortion, 1.0,
  851. distance(1.0,0.8)); );
  852. </action>
  853. <action name="skin_view_littleplanet">tween(view.architectural, 0.0, distance(1.0,0.5)); tween(view.pannini, 0.0,
  854. distance(1.0,0.5)); tween(view.distortion, 1.0, distance(1.0,0.8)); tween(view.fov, 150, distance(150,0.8));
  855. tween(view.vlookat, 90, distance(100,0.8)); add(new_hlookat, view.hlookat, 123.0); tween(view.hlookat,
  856. get(new_hlookat), distance(100,0.8));
  857. </action>
  858. <plugin name="soundinterface" url="%SWFPATH%/plugins/soundinterface.swf"
  859. alturl="%SWFPATH%/plugins/soundinterface.js" rootpath="" preload="true" keep="true"/>
  860. <!-- <action name="startup" autorun="onstart">if(startscene === null OR !scene[get(startscene)],
  861. copy(startscene,scene[0].name); ); if(device.fullscreensupport == true,js(showFullscreenBtn()););
  862. if(device.mobile OR device.tablet,js(hideShareAndFootmarkBtn());); loadscene(get(startscene), null, MERGE);
  863. if(startactions !== null, startactions() );
  864. </action> -->
  865. <!-- <hotspot name="newcomment" url="%SWFPATH%/static/images/kr/comment-back.png" keep="true" scale="1" zoom="false" width="prop"
  866. height="60" ondown="draghotspot();" edge="leftbottom" ath="120" atv="120" visible="false"/>
  867. <layer name="tooltip_newcomment" parent="hotspot[newcomment]" keep="true" url="%SWFPATH%/plugins/textfield.swf"
  868. align="left" edge="left" x="62" y="0" width="150" height="60" background="false"
  869. css='text-align:left; line-height:23px;color:#FFFFFF; font-family:"Microsoft YaHei"; font-weight:normal; font-size:16px;padding:3px'
  870. textshadow="1" textshadowrange="6.0" textshadowangle="90" html="[b]拖动头像到想要评论的位置[/b]" enabled="false"/>
  871. <layer name="container_newcomment" type="container" parent="hotspot[newcomment]" keep="true" maskchildren="true"
  872. align="left" edge="left" x="4" y="0" width="50" height="50" bgcolor="0xffffff" bgborder="0 0x000000 1"
  873. bgroundedge="9" enabled="false">
  874. <layer name="head_newcomment" url="%SWFPATH%/static/images/kr/face-32.png" parent="layer[container_newcomment]" keep="true"
  875. align="left" edge="left" x="0" y="0" width="50" height="50" enabled="false"/>
  876. </layer> -->
  877. <action name="draghotspot">spheretoscreen(ath, atv, hotspotcenterx, hotspotcentery, 'l'); sub(drag_adjustx,
  878. mouse.stagex, hotspotcenterx); sub(drag_adjusty, mouse.stagey, hotspotcentery); asyncloop(pressed, sub(dx,
  879. mouse.stagex, drag_adjustx); sub(dy, mouse.stagey, drag_adjusty); screentosphere(dx, dy, ath, atv); );
  880. </action>
  881. <!-- <action name="addComment">txtadd(comment_name, 'comment_',%1); addhotspot(get(comment_name));
  882. set(hotspot[get(comment_name)].url,%2); set(hotspot[get(comment_name)].ath,%4);
  883. set(hotspot[get(comment_name)].atv,%5); set(hotspot[get(comment_name)].width,40);
  884. set(hotspot[get(comment_name)].height,40); set(hotspot[get(comment_name)].edge,leftbottom);
  885. set(hotspot[get(comment_name)].zoom,false); set(hotspot[get(comment_name)].enabled,false);
  886. set(hotspot[get(comment_name)].comment,true); txtadd(tooltipname, 'tooltip_', get(comment_name));
  887. addlayer(get(tooltipname)); txtadd(layer[get(tooltipname)].parent, 'hotspot[',get(comment_name),']');
  888. set(layer[get(tooltipname)].url,'%SWFPATH%/plugins/textfield.swf'); set(layer[get(tooltipname)].align,right);
  889. set(layer[get(tooltipname)].edge,left); set(layer[get(tooltipname)].x,-5); set(layer[get(tooltipname)].y,0);
  890. set(layer[get(tooltipname)].minwidth,40); set(layer[get(tooltipname)].height,40);
  891. set(layer[get(tooltipname)].background,true); set(layer[get(tooltipname)].backgroundcolor,0x000000);
  892. set(layer[get(tooltipname)].roundedge,9); set(layer[get(tooltipname)].backgroundalpha,0.5);
  893. set(layer[get(tooltipname)].border,true); set(layer[get(tooltipname)].glow,4);
  894. set(layer[get(tooltipname)].glowcolor,0xFFFFFF); set(layer[get(tooltipname)].css,'text-align:left;
  895. line-height:28px;color:#FFFFFF; font-family:"Microsoft YaHei"; font-weight:normal; font-size:13px;padding:3px');
  896. set(layer[get(tooltipname)].textshadow,1); set(layer[get(tooltipname)].textshadowrange,6.0);
  897. set(layer[get(tooltipname)].textshadowangle,90); txtadd(layer[get(tooltipname)].html,'[b]',%3,'[/b]');
  898. set(layer[get(tooltipname)].enabled,false);
  899. </action> -->
  900. <!-- <layer name="open_alert" url="" keep="true" align="center" edge="center" x="0" y="0" maxwidth="160" maxheight="160"
  901. enabled="false" visible="false"/>
  902. <action name="show_open_alert">set(layer[open_alert].url,%1); set(layer[open_alert].visible,true); delayedcall(5,
  903. tween(layer[open_alert].alpha,0,1));
  904. </action> -->
  905. <layer name="tour_guide_alert" url="" keep="true" align="center" edge="center" x="0" y="0" maxwidth="160"
  906. maxheight="160" enabled="false" visible="false"/>
  907. <action name="show_tour_guide_alert">set(layer[tour_guide_alert].url,%1); set(layer[tour_guide_alert].visible,true);
  908. set(layer[tour_guide_alert].alpha,1); delayedcall(3, tween(layer[tour_guide_alert].alpha,0,1));
  909. </action>
  910. <action name="addEffect">
  911. if(plugin[snow] === null,
  912. addplugin(snow);
  913. if(device.html5,set(plugin[snow].url,'%SWFPATH%/plugins/snow.js');,set(plugin[snow].url,'%SWFPATH%/plugins/snow.swf');)
  914. set(plugin[snow].floor,0.7);
  915. set(plugin[snow].zorder,1);
  916. set(plugin[snow].keep,false);
  917. );
  918. if('%1' == 'defaultsnow', defaultsnow());
  919. if('%1' == 'snowballs', snowballs());
  920. if('%1' == 'snowflakes', snowflakes());
  921. if('%1' == 'silverstars', silverstars());
  922. if('%1' == 'goldenstars', goldenstars());
  923. if('%1' == 'hearts', hearts());
  924. if('%1' == 'smileys', smileys());
  925. if('%1' == 'money', money());
  926. if('%1' == 'rain', rain());
  927. if('%1' == 'midrain', midrain());
  928. if('%1' == 'heavyrain', heavyrain());
  929. if('%1' =='custom', customeffect(%2));
  930. </action>
  931. <action name="defaultsnow">set(plugin[snow].mode, snow); set(plugin[snow].blendmode, normal);
  932. set(plugin[snow].flakes, 4000); set(plugin[snow].color, 0xFFFFFF); set(plugin[snow].speed, 1.0);
  933. set(plugin[snow].shake, 4.0); set(plugin[snow].speedvariance, 2.0); set(plugin[snow].spreading, 4.0);
  934. set(plugin[snow].wind, 0.0);
  935. </action>
  936. <action name="snowballs">set(plugin[snow].mode, image); set(plugin[snow].imageurl,
  937. '%SWFPATH%/snow_image/snowball.png'); set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 2000);
  938. set(plugin[snow].imagescale, 0.5); set(plugin[snow].speed, 1.0); set(plugin[snow].shake, 4.0);
  939. set(plugin[snow].speedvariance, 2.0); set(plugin[snow].spreading, 2.0); set(plugin[snow].wind, 0.0);
  940. </action>
  941. <action name="snowflakes">set(plugin[snow].mode, image); set(plugin[snow].imageurl,
  942. '%SWFPATH%/snow_image/snowflake.png'); set(plugin[snow].blendmode, add); set(plugin[snow].flakes, 2000);
  943. set(plugin[snow].imagescale, 0.4); set(plugin[snow].speed, 0.5); set(plugin[snow].shake, 8.0);
  944. set(plugin[snow].speedvariance, 2.0); set(plugin[snow].spreading, 2.0); set(plugin[snow].wind, 0.0);
  945. </action>
  946. <action name="silverstars">set(plugin[snow].mode, image); set(plugin[snow].imageurl,
  947. '%SWFPATH%/snow_image/silverstar.png'); set(plugin[snow].blendmode, add); set(plugin[snow].flakes, 2000);
  948. set(plugin[snow].imagescale, 0.3); set(plugin[snow].speed, 1.0); set(plugin[snow].shake, 4.0);
  949. set(plugin[snow].speedvariance, 2.0); set(plugin[snow].spreading, 2.0); set(plugin[snow].wind, 0.0);
  950. </action>
  951. <action name="goldenstars">set(plugin[snow].mode, image); set(plugin[snow].imageurl,
  952. '%SWFPATH%/snow_image/star.png'); set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 1000);
  953. set(plugin[snow].imagescale, 1.0); set(plugin[snow].speed, 1.0); set(plugin[snow].shake, 4.0);
  954. set(plugin[snow].speedvariance, 2.0); set(plugin[snow].spreading, 1.9); set(plugin[snow].wind, 0.0);
  955. </action>
  956. <action name="hearts">set(plugin[snow].mode, image); set(plugin[snow].imageurl, '%SWFPATH%/snow_image/heart.png');
  957. set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 250); set(plugin[snow].imagescale, 0.5);
  958. set(plugin[snow].speed, 1.0); set(plugin[snow].shake, 4.0); set(plugin[snow].speedvariance, 2.0);
  959. set(plugin[snow].spreading, 1.5); set(plugin[snow].wind, 0.0);
  960. </action>
  961. <action name="smileys">set(plugin[snow].mode, image); set(plugin[snow].imageurl, '%SWFPATH%/snow_image/smiley.png');
  962. set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 1000); set(plugin[snow].imagescale, 1.0);
  963. set(plugin[snow].speed, 1.0); set(plugin[snow].shake, 4.0); set(plugin[snow].speedvariance, 2.0);
  964. set(plugin[snow].spreading, 1.5); set(plugin[snow].wind, 0.0);
  965. </action>
  966. <action name="money">set(plugin[snow].mode, image); set(plugin[snow].imageurl, '%SWFPATH%/snow_image/redpack.png');
  967. set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 500); set(plugin[snow].imagescale, 0.8);
  968. set(plugin[snow].speed, 0.8); set(plugin[snow].shake, 8.0); set(plugin[snow].speedvariance, 3.0);
  969. set(plugin[snow].spreading, 2.5); set(plugin[snow].wind, 0.0);
  970. </action>
  971. <action name="rain">set(plugin[snow].mode, image); set(plugin[snow].imageurl, '%SWFPATH%/snow_image/rain.png');
  972. set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 1000); set(plugin[snow].color, 0x7FAFFF);
  973. set(plugin[snow].speed, 20.0); set(plugin[snow].shake, 1.0); set(plugin[snow].speedvariance, 1.0);
  974. set(plugin[snow].spreading, 4.0); set(plugin[snow].wind, 2.0);
  975. </action>
  976. <action name="midrain">set(plugin[snow].mode, image); set(plugin[snow].imageurl, '%SWFPATH%/snow_image/rain.png');
  977. set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 2500); set(plugin[snow].color, 0x7FAFFF);
  978. set(plugin[snow].speed, 20.0); set(plugin[snow].shake, 1.0); set(plugin[snow].speedvariance, 1.0);
  979. set(plugin[snow].spreading, 6.0); set(plugin[snow].wind, 2.0);
  980. </action>
  981. <action name="heavyrain">set(plugin[snow].mode, image); set(plugin[snow].imageurl, '%SWFPATH%/snow_image/rain.png');
  982. set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 4000); set(plugin[snow].color, 0x9FAFFF);
  983. set(plugin[snow].speed, 20.0); set(plugin[snow].shake, 0.0); set(plugin[snow].speedvariance, 1.0);
  984. set(plugin[snow].spreading, 10.0); set(plugin[snow].wind, 2.0);
  985. </action>
  986. <action name="customeffect">set(plugin[snow].mode, image); set(plugin[snow].imageurl, '%1');
  987. set(plugin[snow].blendmode, normal); set(plugin[snow].flakes, 500); set(plugin[snow].imagescale, 1.0);
  988. set(plugin[snow].speed, 1.0); set(plugin[snow].shake, 4.0); set(plugin[snow].speedvariance, 2.0);
  989. set(plugin[snow].spreading, 1.9); set(plugin[snow].wind, 0.0);
  990. </action>
  991. <events name="speechevents"
  992. onnewpano="indexoftxt(result, get(scene[get(xml.scene)].bgspeech),sound); if(result GE 0,tween(sound[bgsnd].volume, 0.5)); set(speech_bgmusic,get(scene[get(xml.scene)].bgspeech)); if(speech_bgmusic,js(openSpeechVoiceBtn());playsound(bgs,get(scene[get(xml.scene)].bgspeech),1,tween(sound[bgsnd].volume, 1)););"
  993. onremovepano="stopsound(bgs);stopsound(bgm);stopsound(hotspotbgm);" keep="true"/>
  994. <!-- <events name="musicevents"
  995. onnewpano="indexoftxt(result, get(scene[get(xml.scene)].bgmusic),sound); if(result GE 0,tween(sound[bgsnd].volume, 0.5)); set(music_bgmusic,get(scene[get(xml.scene)].bgmusic)); if(music_bgmusic,js(openMusicVoiceBtn());playsound(bgm,get(scene[get(xml.scene)].bgmusic),1,tween(sound[bgsnd].volume, 1)););"
  996. keep="true"/> -->
  997. <events name="advancedsetting" onnewscene="js(initAdvancedSetting(get(xml.scene)));"
  998. onloadcomplete="js(setInitAngle());" onviewchange="js(radarRotate(get(xml.scene),get(view.hlookat)));"
  999. onclick="skin_showthumbs(false);" keep="true"/>
  1000. <action name="do_crop_animation">registerattribute(xframes, calc((imagewidth / %1) BOR 0));
  1001. registerattribute(yframes, calc((imageheight / %2) BOR 0)); registerattribute(frames, calc(xframes * yframes));
  1002. registerattribute(frame, 0); set(crop, '0|0|%1|%2'); setinterval(calc('crop_anim_' + name), calc(1.0 / %3),
  1003. if(loaded, inc(frame); if(frame GE frames, if(onlastframe !== null, onlastframe() ); set(frame,0); ); mod(xpos,
  1004. frame, xframes); div(ypos, frame, xframes); Math.floor(ypos); mul(xpos, %1); mul(ypos, %2); calc(crop, xpos +
  1005. '|' + ypos + '|%1|%2'); , clearinterval(calc('crop_anim_' + name)); ); );
  1006. </action>
  1007. <action name="hotspot_enterVR">
  1008. <!-- jscall(calc('console.log("krpano version: ' + version + '")')); -->
  1009. for(set(i,0), i LT hotspot.count, inc(i), copy(lhotspot, hotspot[get(i)]);
  1010. if(lhotspot.hsvrfalse,
  1011. set(lhotspot.visible,false);
  1012. );
  1013. if(lhotspot.hsvrtrue,
  1014. set(lhotspot.visible,true);
  1015. );
  1016. );
  1017. </action>
  1018. <action name="hotspot_exitVR">for(set(i,0), i LT hotspot.count, inc(i), copy(lhotspot, hotspot[get(i)]);
  1019. if(lhotspot.hsvrfalse, set(lhotspot.visible,true); ); if(lhotspot.hsvrtrue, set(lhotspot.visible,false); ); );
  1020. </action>
  1021. <action name="addSceneChangeHotSpot">
  1022. set(schp_name,%2);
  1023. addhotspot(get(schp_name));
  1024. set(hotspot[get(schp_name)].url,%1);
  1025. set(hotspot[get(schp_name)].ath,%4);
  1026. set(hotspot[get(schp_name)].atv,%5);
  1027. set(hotspot[get(schp_name)].linkedscene,%3);
  1028. set(hotspot[get(schp_name)].width,'prop');
  1029. set(hotspot[get(schp_name)].height,'50');
  1030. set(hotspot[get(schp_name)].visible,%8);
  1031. set(hotspot[get(schp_name)].hsvrfalse,true);
  1032. if(%7 == false,
  1033. set(hotspot[get(schp_name)].onclick,'looktohotspot(get(name));loadscene(get(linkedscene), null, MERGE, BLEND(1));'); ,
  1034. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1035. set(hotspot[get(schp_name)].onup,'js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"scene"));');
  1036. );
  1037. if(%6 == '1', txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);"); );
  1038. txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(scene[get(linkedscene)].title);
  1039. if(webvr.isenabled,set(visible,false));
  1040. txtadd(vrhs,'vr',get(name));
  1041. addhotspot(get(vrhs));
  1042. copy(hotspot[get(vrhs)].url,url);
  1043. copy(hotspot[get(vrhs)].ath,ath);
  1044. copy(hotspot[get(vrhs)].atv,atv);
  1045. copy(hotspot[get(vrhs)].linkedscene,linkedscene);
  1046. copy(hotspot[get(vrhs)].width,width);
  1047. copy(hotspot[get(vrhs)].height,height);
  1048. copy(hotspot[get(vrhs)].onclick,onclick);
  1049. if(%6 == '1',
  1050. txtadd(hotspot[get(vrhs)].onloaded
  1051. ,
  1052. 'do_crop_animation(128,128, 60);');
  1053. );
  1054. txtadd(hotspot[get(vrhs)].onloaded,
  1055. 'if(webvr.isenabled,set(visible,true),set(visible,false));');
  1056. set(hotspot[get(vrhs)].visible,false);
  1057. set(hotspot[get(vrhs)].hsvrtrue,true); ");
  1058. </action>
  1059. <action name="addLinkHotSpot">
  1060. set(schp_name,%2);
  1061. addhotspot(get(schp_name)); set(hotspot[get(schp_name)].url,%1);
  1062. set(hotspot[get(schp_name)].ath,%4); set(hotspot[get(schp_name)].atv,%5);
  1063. set(hotspot[get(schp_name)].hotspottitle,%3); set(hotspot[get(schp_name)].hotspotlink,%9);
  1064. set(hotspot[get(schp_name)].width,'prop'); set(hotspot[get(schp_name)].height,'50');
  1065. set(hotspot[get(schp_name)].visible,%8); if(%7 == false,
  1066. set(hotspot[get(schp_name)].onclick,'js(window.open(get(hotspot[get(name)].hotspotlink), "_blank"));'); ,
  1067. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1068. set(hotspot[get(schp_name)].onup,'js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"link"));');
  1069. ); if(%6 == '1', txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);"); ); if(%10 == true,
  1070. txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(hotspot[get(name)].hotspottitle);"); );
  1071. </action>
  1072. <action name="addWordHotSpot">
  1073. set(schp_name,%2);
  1074. addhotspot(get(schp_name));
  1075. set(hotspot[get(schp_name)].url,%1);
  1076. set(hotspot[get(schp_name)].ath,%4);
  1077. set(hotspot[get(schp_name)].atv,%5);
  1078. set(hotspot[get(schp_name)].hotspottitle,%3);
  1079. set(hotspot[get(schp_name)].wordcontent,%9);
  1080. set(hotspot[get(schp_name)].width,'prop');
  1081. set(hotspot[get(schp_name)].height,'50');
  1082. set(hotspot[get(schp_name)].visible,%8);
  1083. if(%7 == false,
  1084. set(hotspot[get(schp_name)].onclick,'toggle_word_show(true,get(hotspot[get(name)].hotspottitle),get(hotspot[get(name)].wordcontent));');
  1085. ,
  1086. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1087. set(hotspot[get(schp_name)].onup,'js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"text"));');
  1088. );
  1089. if(%6 == '1',
  1090. txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);");
  1091. );
  1092. if(%10 == true,
  1093. txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(hotspot[get(name)].hotspottitle);");
  1094. );
  1095. </action>
  1096. <action name="addvideo_tie_hotspot">
  1097. set(schp_name,%2);
  1098. addhotspot(get(schp_name));
  1099. if(device.flash,
  1100. set(hotspot[get(schp_name)].url,'%SWFPATH%/plugins/videoplayer.swf');
  1101. ,
  1102. if(device.android,
  1103. set(hotspot[get(schp_name)].url,'%SWFPATH%/plugins/videoplayer2.js');
  1104. ,
  1105. set(hotspot[get(schp_name)].url,'%SWFPATH%/plugins/videoplayer.js?v=103103');
  1106. );
  1107. );
  1108. <!-- ios10及以下播放本地视频 -->
  1109. if(device.ios,
  1110. if(device.ios11,
  1111. set(hotspot[get(schp_name)].videourl,%1);
  1112. ,
  1113. txtadd(localurl,'/data/mediares/',%18);
  1114. set(hotspot[get(schp_name)].videourl,get(localurl));
  1115. );
  1116. ,
  1117. set(hotspot[get(schp_name)].videourl,%1);
  1118. );
  1119. set(hotspot[get(schp_name)].posterurl,%17);
  1120. set(hotspot[get(schp_name)].hotspottitle,%3);
  1121. set(hotspot[get(schp_name)].ath,%4);
  1122. set(hotspot[get(schp_name)].atv,%5);
  1123. set(hotspot[get(schp_name)].distorted,true);
  1124. set(hotspot[get(schp_name)].edge,'center');
  1125. set(hotspot[get(schp_name)].scale,'1.0');
  1126. set(hotspot[get(schp_name)].rx,%6);
  1127. set(hotspot[get(schp_name)].ry,%7);
  1128. set(hotspot[get(schp_name)].rz,%8);
  1129. set(hotspot[get(schp_name)].ox,%9);
  1130. set(hotspot[get(schp_name)].oy,%10);
  1131. set(hotspot[get(schp_name)].loop,%11);
  1132. set(hotspot[get(schp_name)].depth,%12);
  1133. set(hotspot[get(schp_name)].pausedonstart,%13);
  1134. set(hotspot[get(schp_name)].width,%14);
  1135. set(hotspot[get(schp_name)].height,%15);
  1136. set(hotspot[get(schp_name)].onclick,'togglevideoplay(%2)');
  1137. if(%16 ==true,
  1138. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1139. set(hotspot[get(schp_name)].onup,'js(update_video_tie_pos(get(xml.scene),get(name),get(ath),get(atv),"text"));');
  1140. ,
  1141. set(hotspot[get(schp_name)].capture,false);
  1142. txtadd(schp_name_btn,get(schp_name),'_btn');
  1143. addhotspot(get(schp_name_btn));
  1144. set(hotspot[get(schp_name_btn)].url,'%SWFPATH%/skin/hs_video.png');
  1145. set(hotspot[get(schp_name_btn)].scale,0.5);
  1146. set(hotspot[get(schp_name_btn)].zorder,50);
  1147. set(hotspot[get(schp_name_btn)].ath,%4);
  1148. set(hotspot[get(schp_name_btn)].atv,%5);
  1149. set(hotspot[get(schp_name_btn)].onclick,'togglevideoplay(%2)');
  1150. );
  1151. <!-- js(calc('console.log("'+hotspot[get(schp_name)].url+'")')); -->
  1152. <!-- js(calc('console.log("'+hotspot[get(schp_name)].depth+'")')); -->
  1153. </action>
  1154. <!--重写贴片视频的播放、暂停-->
  1155. <action name="togglevideoplay">
  1156. set(videohotspot,%1);
  1157. txtadd(videohotspot_btn,get(videohotspot),'_btn');
  1158. if(hotspot[get(videohotspot_btn)].visible,
  1159. set(hotspot[get(videohotspot_btn)].visible,false);
  1160. hotspot[get(videohotspot)].play();
  1161. ,
  1162. set(hotspot[get(videohotspot_btn)].visible,true);
  1163. hotspot[get(videohotspot)].pause();
  1164. );
  1165. </action>
  1166. <action name="addimg_tie_hotspot">
  1167. set(schp_name,%2);
  1168. addhotspot(get(schp_name));
  1169. set(hotspot[get(schp_name)].url,%1);
  1170. set(hotspot[get(schp_name)].hotspottitle,%3);
  1171. set(hotspot[get(schp_name)].ath,%4);
  1172. set(hotspot[get(schp_name)].atv,%5);
  1173. set(hotspot[get(schp_name)].distorted,true);
  1174. set(hotspot[get(schp_name)].edge,'center');
  1175. set(hotspot[get(schp_name)].scale,'1.0');
  1176. set(hotspot[get(schp_name)].distorted,true);
  1177. set(hotspot[get(schp_name)].rx,%6);
  1178. set(hotspot[get(schp_name)].ry,%7);
  1179. set(hotspot[get(schp_name)].rz,%8);
  1180. set(hotspot[get(schp_name)].ox,%9);
  1181. set(hotspot[get(schp_name)].oy,%10);
  1182. set(hotspot[get(schp_name)].loop,%11);
  1183. set(hotspot[get(schp_name)].depth,%12);
  1184. set(hotspot[get(schp_name)].pausedonstart,%13);
  1185. set(hotspot[get(schp_name)].width,%14);
  1186. set(hotspot[get(schp_name)].height,%15);
  1187. if(%16 ==true,
  1188. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1189. set(hotspot[get(schp_name)].onup,'js(update_video_tie_pos(get(xml.scene),get(name),get(ath),get(atv),"text"));');
  1190. );
  1191. </action>
  1192. <action name="addImgTextHotSpot">
  1193. set(schp_name,%2);
  1194. addhotspot(get(schp_name));
  1195. set(hotspot[get(schp_name)].url,%1);
  1196. set(hotspot[get(schp_name)].ath,%4);
  1197. set(hotspot[get(schp_name)].atv,%5);
  1198. set(hotspot[get(schp_name)].hotspottitle,%3);
  1199. set(hotspot[get(schp_name)].wordcontent,%9);
  1200. set(hotspot[get(schp_name)].width,'prop');
  1201. set(hotspot[get(schp_name)].height,'50');
  1202. set(hotspot[get(schp_name)].visible,%8);
  1203. if(%7 == false,
  1204. set(hotspot[get(schp_name)].onclick,js(showPictext(get(hotspot[get(name)].hotspottitle),%9)));
  1205. <!-- toggle_word_show(true,get(hotspot[get(name)].hotspottitle),get(hotspot[get(name)].wordcontent)); -->
  1206. ,
  1207. set(hotspot[get(schp_name)].ondown,draghotspot(););
  1208. set(hotspot[get(schp_name)].onup,js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"imgtext")));
  1209. );
  1210. if(%6 == '1',
  1211. txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);");
  1212. );
  1213. if(%10 == true,
  1214. txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(hotspot[get(name)].hotspottitle);");
  1215. );
  1216. </action>
  1217. <action name="addVoiceHotSpot">set(schp_name,%2); addhotspot(get(schp_name)); set(hotspot[get(schp_name)].url,%1);
  1218. set(hotspot[get(schp_name)].ath,%4); set(hotspot[get(schp_name)].atv,%5);
  1219. set(hotspot[get(schp_name)].hotspottitle,%3); set(hotspot[get(schp_name)].musicsrc,%9);
  1220. set(hotspot[get(schp_name)].width,'prop'); set(hotspot[get(schp_name)].height,'50');
  1221. set(hotspot[get(schp_name)].visible,%8); if(%7 == false,
  1222. set(hotspot[get(schp_name)].onclick,'play_hotspot_voice(get(hotspot[get(name)].musicsrc));'); ,
  1223. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1224. set(hotspot[get(schp_name)].onup,'js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"voice"));');
  1225. ); if(%6 == '1', txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);"); ); if(%10 == true,
  1226. txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(hotspot[get(name)].hotspottitle);"); );
  1227. </action>
  1228. <action name="addAroundHotSpot">set(schp_name,%2); if(around_object_id === null,set(around_object_id,0));
  1229. addhotspot(get(schp_name)); set(hotspot[get(schp_name)].url,%1); set(hotspot[get(schp_name)].ath,%4);
  1230. set(hotspot[get(schp_name)].atv,%5); set(hotspot[get(schp_name)].hotspottitle,%3);
  1231. set(hotspot[get(schp_name)].aroundpath,%9); if('%10' == null OR '%10' == undefined,
  1232. set(hotspot[get(schp_name)].filecount,36);, set(hotspot[get(schp_name)].filecount,%10); );
  1233. set(hotspot[get(schp_name)].aroundobjectid,get(around_object_id)); set(hotspot[get(schp_name)].width,'prop');
  1234. set(hotspot[get(schp_name)].height,'50'); set(hotspot[get(schp_name)].visible,%8); if(%7 == false,
  1235. set(hotspot[get(schp_name)].onclick,'buildframes(get(hotspot[get(name)].aroundpath),get(hotspot[get(name)].filecount),get(hotspot[get(name)].aroundobjectid));set(settings.objectid,get(hotspot[get(name)].aroundobjectid));set(settings.objectnum,36);');
  1236. inc(around_object_id); , set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1237. set(hotspot[get(schp_name)].onup,'js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"around"));');
  1238. ); if(%6 == '1', txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);"); ); if(%11 == true,
  1239. txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(hotspot[get(name)].hotspottitle);"); );
  1240. </action>
  1241. <action name="addImgHotSpot">
  1242. set(schp_name,%2);
  1243. addhotspot(get(schp_name));
  1244. set(hotspot[get(schp_name)].url,%1);
  1245. set(hotspot[get(schp_name)].ath,%4);
  1246. set(hotspot[get(schp_name)].atv,%5);
  1247. set(hotspot[get(schp_name)].hotspottitle,%3);
  1248. set(hotspot[get(schp_name)].galleryname,%9);
  1249. set(hotspot[get(schp_name)].width,'prop');
  1250. set(hotspot[get(schp_name)].height,'50');
  1251. set(hotspot[get(schp_name)].visible,%8);
  1252. if(%7 == false,
  1253. set(hotspot[get(schp_name)].onclick,'js(toggleBtns());show_gallery(get(galleryname));');
  1254. ,
  1255. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1256. set(hotspot[get(schp_name)].onup,'js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"image"));');
  1257. );
  1258. if(%6 == '1', txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);"); );
  1259. if(%10 == true, txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(hotspot[get(name)].hotspottitle);"); );
  1260. </action>
  1261. <action name="addObjHotSpot">
  1262. set(schp_name,%2);
  1263. addhotspot(get(schp_name));
  1264. set(hotspot[get(schp_name)].url,%1);
  1265. set(hotspot[get(schp_name)].ath,%4);
  1266. set(hotspot[get(schp_name)].atv,%5);
  1267. set(hotspot[get(schp_name)].hotspottitle,%3);
  1268. set(hotspot[get(schp_name)].width,'prop');
  1269. set(hotspot[get(schp_name)].height,'50');
  1270. set(hotspot[get(schp_name)].visible,%8);
  1271. if(%7 == false,
  1272. set(hotspot[get(schp_name)].onclick,'js(obj_buildframes(%9));');
  1273. ,
  1274. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1275. set(hotspot[get(schp_name)].onup,'js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"obj"));');
  1276. );
  1277. if(%6 == '1',
  1278. txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);");
  1279. );
  1280. if(%10 == true,
  1281. txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(hotspot[get(name)].hotspottitle);");
  1282. );
  1283. </action>
  1284. <action name="addVideoHotSpot">
  1285. set(schp_name,%2);
  1286. addhotspot(get(schp_name));
  1287. set(hotspot[get(schp_name)].url,%1);
  1288. set(hotspot[get(schp_name)].ath,%4);
  1289. set(hotspot[get(schp_name)].atv,%5);
  1290. set(hotspot[get(schp_name)].hotspottitle,%3);
  1291. set(hotspot[get(schp_name)].width,'prop');
  1292. set(hotspot[get(schp_name)].height,'50');
  1293. set(hotspot[get(schp_name)].visible,%8);
  1294. if(%7 == false,
  1295. set(hotspot[get(schp_name)].onclick,js(playvideo(%9)) );
  1296. ,
  1297. set(hotspot[get(schp_name)].ondown,'draghotspot();');
  1298. set(hotspot[get(schp_name)].onup,'js(updateHotSpotData(get(xml.scene),get(name),get(ath),get(atv),"video"));');
  1299. );
  1300. if(%6 == '1',
  1301. txtadd(hotspot[get(schp_name)].onloaded,"do_crop_animation(128,128, 60);");
  1302. );
  1303. if(%10 == true,
  1304. txtadd(hotspot[get(schp_name)].onloaded,"add_all_the_time_tooltip(hotspot[get(name)].hotspottitle);");
  1305. );
  1306. </action>
  1307. <action name="add_all_the_time_tooltip">
  1308. txtadd(tooltipname, 'tooltip_', get(name)); addplugin(get(tooltipname));
  1309. txtadd(plugin[get(tooltipname)].parent, 'hotspot[', get(name), ']');
  1310. set(plugin[get(tooltipname)].url,'%SWFPATH%/plugins/textfield.swf');
  1311. set(plugin[get(tooltipname)].align,top);
  1312. set(plugin[get(tooltipname)].edge,bottom);
  1313. set(plugin[get(tooltipname)].x,0);
  1314. set(plugin[get(tooltipname)].y,5);
  1315. set(plugin[get(tooltipname)].autowidth,true);
  1316. set(plugin[get(tooltipname)].height,28);
  1317. set(plugin[get(tooltipname)].background,true);
  1318. set(plugin[get(tooltipname)].backgroundcolor,0x000000);
  1319. set(plugin[get(tooltipname)].roundedge,5);
  1320. set(plugin[get(tooltipname)].backgroundalpha,0.65);
  1321. set(plugin[get(tooltipname)].padding,5);
  1322. set(plugin[get(tooltipname)].vcenter,true);
  1323. set(plugin[get(tooltipname)].border,false);
  1324. set(plugin[get(tooltipname)].glow,0);
  1325. set(plugin[get(tooltipname)].glowcolor,0xFFFFFF);
  1326. set(plugin[get(tooltipname)].css,'text-align:center; color:#FFFFFF; font-family:MicrosoftYahei; font-size:14px;');
  1327. if(device.mobile,set(plugin[get(tooltipname)].css,'text-align:center; color:#FFFFFF;
  1328. font-family:MicrosoftYahei; font-weight:bold; font-size:14px;'); ); set(plugin[get(tooltipname)].textshadow,0);
  1329. set(plugin[get(tooltipname)].textshadowrange,6.0); set(plugin[get(tooltipname)].textshadowangle,90); if(text ==
  1330. '' OR text === null, copy(plugin[get(tooltipname)].html,%1), copy(plugin[get(tooltipname)].html,text) );
  1331. set(plugin[get(tooltipname)].enabled,false);
  1332. </action>
  1333. <layer name="mapcontainer" keep="true" type="container" bgcolor="0x000000" bgalpha="0.5" align="righttop" x="60"
  1334. y="10" width="264" height="264" visible="false">
  1335. <layer name="map" url="" align="lefttop" x="4" y="4" width="256" height="256" handcursor="false"
  1336. scalechildren="false">
  1337. <layer name="radarmask" type="container" align="lefttop" width="100%" height="100%" maskchildren="true">
  1338. <layer name="radar" visible="false" url="%SWFPATH%/plugins/radar.swf" alturl="%SWFPATH%/plugins/radar.js" align="lefttop" edge="center"
  1339. zorder="1" scale="0.5" fillcolor="0xFFFFFF" fillalpha="0.8" linecolor="0xFF0000" linewidth="0.5"
  1340. linealpha="0.5" headingoffset="0"/>
  1341. <layer name="activespot" url="%SWFPATH%/static/images/kr/radar-active.png" scale="1.0" oy="0" align="lefttop"
  1342. edge="center" zorder="3" visible="false"/>
  1343. </layer>
  1344. </layer>
  1345. </layer>
  1346. <style name="spot" url="%SWFPATH%/static/images/kr/radar-out.png" scale="1.0" oy="0" align="lefttop" edge="center" zorder="2"
  1347. onclick="subtxt(spotid,get(name),5,38);if(spotid != get(xml.scene), loadscene(get(spotid),null,MERGE,BLEND(1)); );"/>
  1348. <action name="activatespot">txtadd(spotidnow,'spot_',get(xml.scene)); copy(layer[radar].x, layer[get(spotidnow)].x);
  1349. copy(layer[radar].y, layer[get(spotidnow)].y); copy(layer[activespot].x, layer[get(spotidnow)].x);
  1350. copy(layer[activespot].y, layer[get(spotidnow)].y); set(layer[radar].heading, %1); set(layer[radar].visible,
  1351. true); set(layer[activespot].visible, true); set(layer[get(spotidnow)].visible, false);
  1352. </action>
  1353. <action name="addTourGuidePoint">set(tour_point_name, %1); addhotspot(get(tour_point_name));
  1354. set(hotspot[get(tour_point_name)].url,'%SWFPATH%/static/images/kr/tourpoint.png');
  1355. set(hotspot[get(tour_point_name)].ath,%2); set(hotspot[get(tour_point_name)].atv,%3);
  1356. set(hotspot[get(tour_point_name)].visible,%5); set(hotspot[get(tour_point_name)].width,40);
  1357. set(hotspot[get(tour_point_name)].height,40); set(hotspot[get(tour_point_name)].zoom,false);
  1358. set(hotspot[get(tour_point_name)].ondown,'draghotspot();');
  1359. set(hotspot[get(tour_point_name)].onup,'js(putTourGuideLocation(get(name),get(ath),get(atv)));');
  1360. set(hotspot[get(tour_point_name)].onclick,'tourpointclick();'); txtadd(tooltipname, 'tooltip_',
  1361. get(tour_point_name)); addlayer(get(tooltipname)); txtadd(layer[get(tooltipname)].parent,
  1362. 'hotspot[',get(tour_point_name),']'); set(layer[get(tooltipname)].url,'%SWFPATH%/plugins/textfield.swf');
  1363. set(layer[get(tooltipname)].align,center); set(layer[get(tooltipname)].edge,center);
  1364. set(layer[get(tooltipname)].width,40); set(layer[get(tooltipname)].height,40);
  1365. set(layer[get(tooltipname)].background,false); set(layer[get(tooltipname)].backgroundcolor,0x039be5);
  1366. set(layer[get(tooltipname)].roundedge,20); set(layer[get(tooltipname)].glow,4);
  1367. set(layer[get(tooltipname)].glowcolor,0xFFFFFF); set(layer[get(tooltipname)].css,'text-align:center;
  1368. line-height:40px;color:#000000; font-family:"Microsoft YaHei"; font-weight:normal; font-size:14px;');
  1369. set(layer[get(tooltipname)].html,%4); set(layer[get(tooltipname)].enabled,false);
  1370. </action>
  1371. <action name="tourpointclick">js(krpTourPointClick(get(name)));</action>
  1372. <layer name="wordcontainer" keep="true" type="container" bgcolor="0x000000" bgalpha="0.8" align="lefttop" x="0"
  1373. y="0" width="100%" height="100%" visible="false" zorder="100" bgcapture="true"
  1374. onclick="toggle_word_show(false)">
  1375. <layer name="wordtitle" parent="wordcontainer" keep="true" type="container" align="top" width="100%"
  1376. height="20%">
  1377. <layer name="wordtitlestr" url="%SWFPATH%/plugins/textfield.swf" align="center" background="false"
  1378. css="text-align:center;color:#ffffff;font-weight:700; font-size:24px;" html=""></layer>
  1379. </layer>
  1380. <layer name="wordcontent" parent="wordcontainer" keep="true" type="container" align="bottom" edge="bottom"
  1381. width="100%" height="80%" bgcolor="0xaaaaaa">
  1382. <layer name="wordcontentstr" url="%SWFPATH%/plugins/textfield.swf" align="top" width="80%"
  1383. background="false" css="text-align:left;color:#ffffff;font-weight:500; font-size:18px;" html=""
  1384. visible="true"></layer>
  1385. </layer>
  1386. </layer>
  1387. <action name="toggle_word_show">if(%1 == true, set(layer[wordtitlestr].html,%2); set(layer[wordcontentstr].html,%3);
  1388. set(layer[wordcontainer].visible, true); tween(layer[wordcontainer].alpha, 1.0, 0.5,easeOutQuad); ,
  1389. tween(layer[wordcontainer].alpha, 0.0, 0.5,easeOutQuad,set(layer[wordcontainer].visible, false);); );
  1390. </action>
  1391. <action name="play_hotspot_voice">stopsound(hotspotbgm); playsound(hotspotbgm,%1,1);</action>
  1392. <events onresize="make_gallery(get(activeGallery));"/>
  1393. <layer name="gallery" type="container" align="center" width="100%" height="100%" alpha="0" autoalpha="true"
  1394. bgcolor="0x000000" bgalpha="0.8" keep="true" zorder="100">
  1395. <layer name="gallery_scrollarea" url="%SWFPATH%/plugins/scrollarea.swf" alturl="%SWFPATH%/plugins/scrollarea.js"
  1396. keep="true" align="left" width="0" height="100%" zorder="1" direction="h"
  1397. ondown="set(gallery_scrollarea_start_pos, get(x))"></layer>
  1398. <layer name="arrow_left" align="left" x="10" keep="true" visible="false" zorder="2" onclick="move_image(left)"
  1399. url="%SWFPATH%/static/images/kr/left-white.png"/>
  1400. <layer name="arrow_right" align="right" x="10" keep="true" visible="false" zorder="2"
  1401. onclick="move_image(right)" url="%SWFPATH%/static/images/kr/right-white.png"/>
  1402. <layer name="gallery_close" align="righttop" x="10" y="10" keep="true" zorder="2"
  1403. onclick="hide_gallery();js(toggleBtns(true));" url="%SWFPATH%/static/images/kr/close.png"/>
  1404. </layer>
  1405. <action name="open_show_scene_thumb">
  1406. if(scene.count GT 1, skin_showthumbs(true); );
  1407. </action>
  1408. <!-- <action name="toggle_all_comment">for(set(i,0), i LT hotspot.count, inc(i), copy(lcomment, hotspot[get(i)]);
  1409. if(lcomment.comment, set(lcomment.visible, %1); ); );
  1410. </action> -->
  1411. <settings imagewidth="" imageheight="" objectid="" objectnum=""/>
  1412. <events onresize="updateframeresize(container_obj,get(settings.imagewidth),get(settings.imageheight));"
  1413. onmousewheel="updateframesscale();"/>
  1414. <style name="frame" keep="true" visible="false" width="100%" height="100%" scale_o="" align="center"
  1415. onloaded="set(plugin[loadingtext].visible,false); updateframeresize(container_obj,get(imagewidth),get(imageheight));copy(scale_o,scale); copy(settings.imagewidth,imagewidth); copy(settings.imageheight,imageheight);set(layer[container_obj].visible,true);"
  1416. ondown="copy(oldmousex,mouse.x);domouserotate();"
  1417. onover=" set(iszoom, true); set(startzoom, true); copy(copy_mousefovchange, control.mousefovchange); copy(copy_touchzoom, control.touchzoom); set(control.mousefovchange, 0); set(control.touchzoom, false);"
  1418. onout=" set(iszoom, false); copy(control.mousefovchange, copy_mousefovchange); copy(control.touchzoom, copy_touchzoom);"/>
  1419. <layer name="container_obj" type="container" align="center" visible="false" maskchildren="true" bgcolor="0x000000"
  1420. width="900" height="600" bgalpha="0.5" scalechildren="true" bgborder="5 0xFFFFFF 0.9" bgroundedge="3"
  1421. keep="true">
  1422. <layer name="text_mask" type="container" align="leftbottom" y="15" x="0" visible="false" height="10%"
  1423. width="200" bgcolor="0xffffff" bgalpha="0.5" bgcapture="true" zorder="100" bgroundedge="0 3 3 0"
  1424. scalechildren="true">
  1425. <layer name="title" url="%SWFPATH%/plugins/textfield.swf" children="false" enabled="false" align="top"
  1426. autowidth="auto" height="24" vcenter="true" visible="false" border="false" background="false"
  1427. css="text-align:center; color:#FFFFFF; font-family:Arial; font-weight:bold; font-size:20px;" html=""
  1428. onloaded="updatepos();add(layer[text_mask].width,pixelwidth,20); add(layer[text_mask].height,pixelheight,0);"/>
  1429. </layer>
  1430. <layer name="close_mask" type="container" align="righttop" y="10" x="10" height="10%" width="200"
  1431. bgcolor="0xffffff" bgalpha="0.5" bgcapture="true" zorder="100" bgroundedge="3" scalechildren="true">
  1432. <layer name="closetitle" url="%SWFPATH%/plugins/textfield.swf" children="false" enabled="true" align="top"
  1433. width="40" height="24" vcenter="true" border="false" background="false"
  1434. css="text-align:center; color:#FFFFFF; font-family:Arial; font-weight:bold; font-size:16px;"
  1435. html="退出"
  1436. onloaded="updatepos();add(layer[close_mask].width,pixelwidth,10); add(layer[close_mask].height,pixelheight,0);"
  1437. onclick="set(layer[container_obj].visible,false);removeframes();"/>
  1438. </layer>
  1439. <plugin name="loadingtext" url="%SWFPATH%/plugins/textfield.swf" keep="true" zorder="100" visible="true"
  1440. enabled="false" preload="true" align="center" autoheight="true" width="100" background="false"
  1441. html="[p]载入中...[/p]" css="p {color:#FFFFFF; font-family:arial; font-size:16px }"/>
  1442. <layer name="gallerynext" url="%SWFPATH%/skin/gallerybtns.png" align="right" x="0" y="0" zorder="100"
  1443. crop="100|0|100|100" onovercrop="100|100|100|100" ondowncrop="100|100|100|100"
  1444. ondown="set(y,1);dorotate();" onup="set(y,0)" direction="-1"/>
  1445. <layer name="galleryprev" url="%SWFPATH%/skin/gallerybtns.png" align="left" x="0" y="0" zorder="100"
  1446. crop="0|0|100|100" onovercrop="0|100|100|100" ondowncrop="0|100|100|100" ondown="set(y,1);dorotate();"
  1447. onup="set(y,0)" direction="1"/>
  1448. </layer>
  1449. <action name="updateframeresize">div(aspect, %2,%3); mul(new_width, stagewidth, 0.70); div(new_height, new_width,
  1450. aspect); mul(max_height, stageheight, 0.70); if(new_height GT max_height, copy(new_height, max_height);
  1451. mul(new_width, new_height, aspect); ); div(new_width,stagewidth); div(new_height,stageheight);
  1452. mul(new_width,100); mul(new_height,100); roundval(new_width); roundval(new_height); txtadd(layer[%1].width,
  1453. get(new_width),'%'); txtadd(layer[%1].height, get(new_height),'%');
  1454. copy(plugin[frame0].scale_o,plugin[frame0].scale);
  1455. </action>
  1456. <action name="buildframes">if(%3 != settings.objectid, for(set(i,0), i LT %2, inc(i), txtadd(fname,frame,get(i));
  1457. removeplugin(get(fname)); ); ); for(set(i,0), i LT %2, inc(i), txtadd(fname,frame,get(i));
  1458. txtadd(furl,%1,get(i),.jpg?imageView2/2/h/450); addplugin(get(fname));
  1459. set(plugin[get(fname)].parent,layer[container_obj]); plugin[get(fname)].loadstyle(frame);
  1460. copy(plugin[get(fname)].url,furl); ); set(currentframe,0); set(framecount,%2); set(oldmousex,0); showframe(0);
  1461. </action>
  1462. <action name="removeframes">for(set(i,0), i LT framecount, inc(i), txtadd(fname,frame,get(i));
  1463. removeplugin(get(fname)); );
  1464. </action>
  1465. <action name="updateframesscale">layer[container_obj].updatepos(); for(set(i,0), i LT framecount, inc(i),
  1466. txtadd(fname,frame,get(i)); if(iszoom, if(wheeldelta_touchscale GT 0, if(startzoom, set(startzoom,false);
  1467. copy(start_wheeldelta_touchscale, wheeldelta_touchscale); copy(start_imagescale, plugin[get(fname)].scale); );
  1468. div(tmp, wheeldelta_touchscale, start_wheeldelta_touchscale); mul(plugin[get(fname)].scale, start_imagescale,
  1469. tmp); , mul(sit,get(wheeldelta),0.05); mul(sit,plugin[get(fname)].scale); plugin[get(fname)].updatepos();
  1470. add(plugin[get(fname)].scale,sit); if(plugin[get(fname)].scale LT plugin[get(fname)].scale_o,
  1471. copy(plugin[get(fname)].scale,plugin[get(fname)].scale_o);); ); ); );
  1472. </action>
  1473. <action name="showframe">txtadd(fname,frame,get(currentframe));
  1474. txtadd(tempstr,'set(plugin[',get(fname),'].visible,false);'); ifnot(%1 == 0, delayedcall(0.03,get(tempstr)); );
  1475. add(currentframe,%1); if(currentframe LT 0, sub(currentframe,framecount,1); ); if(currentframe == framecount,
  1476. set(currentframe,0); ); txtadd(fname,frame,get(currentframe)); set(plugin[get(fname)].visible,true);
  1477. ifnot(plugin[get(fname)].loaded, set(plugin[loadingtext].visible,true);, set(plugin[loadingtext].visible,false);
  1478. );
  1479. </action>
  1480. <action name="dorotate">if(pressed, showframe(get(direction)); delayedcall(0.05,dorotate();); );</action>
  1481. <action name="domouserotate">if(pressed, sub(temp,oldmousex,mouse.x); if(temp GT 0, set(temp,1); ); if(temp LT 0,
  1482. set(temp,-1); ); showframe(get(temp)); copy(oldmousex,mouse.x); delayedcall(0.03,domouserotate();); );
  1483. </action>
  1484. <krpano flare_dir="%SWFPATH%/skin/lensflare"/>
  1485. <include url="%SWFPATH%/skin/lensflare/core.xml"/>
  1486. <lensflares name="obj">
  1487. <item name="lensitemobj" ath="-29.85" atv="-23.55" scene="" typ="blinkstyle8" dust_effect="false"/>
  1488. </lensflares>
  1489. <action name="ivr_remove_flare">txtadd(na, 'flt_%1_',get(lensflares[obj].item[lensitemobj].name)); txtadd(look,
  1490. 'lookto_%1_',get(lensflares[obj].item[lensitemobj].name)); txtadd(tras,
  1491. 'trash_%1_',get(lensflares[obj].item[lensitemobj].name)); txtadd(dust,
  1492. 'dust_%1_',get(lensflares[obj].item[lensitemobj].name)); if(lensflares[obj].item[lensitemobj].scene == '%1',
  1493. vonp(na); vonp(look); vonp(tras); vonp(dust); vonp(flara_on_scene_scroll); vonh_all(tagmini, lensitemobj); );
  1494. </action>
  1495. <action name="addLensflares">
  1496. set(lensflares[obj].item[lensitemobj].scene,get(xml.scene));
  1497. set(lensflares[obj].item[lensitemobj].ath,%1);
  1498. set(lensflares[obj].item[lensitemobj].atv,%2);
  1499. load_flare_content();
  1500. </action>
  1501. <action name="addSunset">addhotspot(sunset_hs); set(hotspot[sunset_hs].url,'%SWFPATH%/static/images/kr/sunset.png');
  1502. set(hotspot[sunset_hs].ath,%1); set(hotspot[sunset_hs].atv,%2); set(hotspot[sunset_hs].zorder,100);
  1503. set(hotspot[sunset_hs].visible,true);
  1504. set(hotspot[sunset_hs].ondown,'draghotspot();ivr_remove_flare(get(xml.scene));');
  1505. set(hotspot[sunset_hs].onup,'js(updateEffectSetting(get(xml.scene),get(ath),get(atv)));');
  1506. addLensflares('%1','%2');
  1507. </action>
  1508. <action name="removeSunset">removehotspot(sunset_hs); ivr_remove_flare(get(xml.scene));</action>
  1509. <!--视频热点-->
  1510. <!-- <layer name="video_bg_cover" keep="true" type="container" bgcolor="0x000000" bgalpha="0.3" align="lefttop" x="0"
  1511. y="0" width="100%" height="100%" visible="false" zorder="0" bgcapture="true" onclick="video_clsoe()">
  1512. <layer parent="video_bg_cover" keep="true" name="vidoe_bg_close" url="%SWFPATH%/skin/gallerybtns.png" align="righttop" background="false" crop="200|0|100|100" onclick="video_clsoe()">
  1513. </layer>
  1514. <layer
  1515. parent="video_bg_cover"
  1516. name="video_player"
  1517. url.flash="%SWFPATH%/plugins/videoplayer.swf"
  1518. url.html5="%SWFPATH%/plugins/videoplayer.js"
  1519. videourl=""
  1520. posterurl="videoposter.jpg"
  1521. align="center" x="0" y="0"
  1522. pausedonstart="false"
  1523. loop="false"
  1524. volume="1.0"
  1525. onvideoready=""
  1526. onvideoplay=""
  1527. onvideopaused=""
  1528. onvideocomplete=""
  1529. onerror=""
  1530. maxwidth="60%"
  1531. />
  1532. </layer>
  1533. <action name="video_clsoe">
  1534. set(layer[video_bg_cover].visible,false);
  1535. ifnot(plugin[video_player].ispaused,plugin[video_player].pause());
  1536. </action>
  1537. <action name="play_video">
  1538. plugin[video_player].playvideo(%1);
  1539. set(layer[video_bg_cover].visible,true);
  1540. </action> -->
  1541. <!--视频热点结束-->
  1542. </krpano>