vtourskin.xml 99 KB

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