vtourskin.xml 101 KB

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