天天看點

Krpano功能介紹-所有标簽

Krpano功能介紹

Krpano的所有标簽如下:

标簽 解釋
<inelude> 載人其他的xml檔案
<preview> 在裝載全景圖檔的過程中顯示一個小的全景圖
<image> 載人圖檔
<view> 存儲目前視的資訊
<area> 定義全景圖中被展示的區域
<display> 定義渲染的品質和性能
<cursois> 自定義光标的樣式
<control> 滑鼠鍵盤的控制設定
<cursois> 自定義光标的樣式
<autorotate> 當無使用者互動時.自動扭曲/移動,縮放
<plugin> <layer> 載人其他flash程式,圖檔或者按鈕,圖示
<hotspot> 設定熱點
<events> 設定事件的響應
<aetion> 定義行為.需要用腳本語言解釋器解釋
<eontextmenu> 自定義滑鼠右鍵菜單
<progress> 設定裝載時過程
<network> 設定下載下傳或者decode時的圖檔
<memory> 設定記憶體使用情況
<security> 設定安全性
<textstyle> 定義樣式
<lensflareset> 定義一個鏡頭光暈樣式
<lensflare> 定義一個鏡頭光暈
<data> 存儲一些資料
<scene> 定義場景

Crop屬性的四個值:0 、0、50、50,表示在加載的圖檔的0,0位置起,寬50高50裁切出一個圖檔,供目前使用。也就是說,可以把好幾個圖示整合在一張圖檔上,使用時,調用Crop腳本函數,提供要切割的起始坐标,要切割圖檔的寬高。

parent屬性設定插件的父插件名稱

Krpano viewer的功能是十分強大和複雜的.本文隻介紹 系統所用到的幾個比較重要的标簽 

=、校園全景漫遊的具體實作 

2.1、将krpano viewer嵌入html網頁 

Krpa~o Viewer提供了swfkrpano.is腳本使用它可以很方 

便地将krpanoviewer嵌入html網頁.其使用方法如下: 

首先引人腳本檔案:<scriptsrc="swfkrpano.J⋯S></script> 

接着編寫iavascript腳本: 

1 <script type=”text/javaseript”>
2 vat swf=ereateswf(”krpano.swf'’,”krpanoSWFObject”,”
3 100%”,”100% ”);
4 swf.addVariable(”xml”,”scenes-with-imagemap.xml”);
5 swf.embed(”krpanoDIV” :
6 swf.addVariable(”xml”,”krpano.xml”);
7 </script>

此段代碼的說明為:Varswf=ereateswf0表示可以建立要 

嵌入的對象 

swf.addVariable0表示設定xml檔案的路徑 

swf.embed(”krpanoDIV”1表示将krpano viewer嵌入到html 

元素裡。 

2.2、設定初始場景 

在配置檔案中的根節<krpano>中添加腳本動作.設定初 

始要載人的場景 

<kroano version=”1.0.8”onstart=”loadscene(scene1.null。 

MERGE);p1aysound(s1,sound/music.mp3,0,o);”> 

onstart為Krpano定義的事件.其後跟随的内容為事件的 

響應腳本。Loadscene函數表示載入場景.其第一參數為場景名 

稱。Playsound函數是音頻播放插件所提供。其第二個參數為要 

播放的音頻檔案的路徑。 

2-3建構各個場景 

本系統所有的場景資訊都儲存在XML檔案中。當需要載 

人某個場景時,系統會查找相應的标簽,讀取配置。在XML配 

置檔案中.使用<scene>标簽建構場景。具體示例如下: 

<scene name=”scenename”onstart=’。action(startscene);”> 

<scene>标簽後的name屬性是必須的,同時.作為場景的 

辨別.其值必須是全局唯一的。onstart屬性後跟腳本動作代碼, 

表示在場景剛載入時要做的工作。本例中,onstart屬性後為一 

個名為startscene的動作 這個動作中包含一系列的腳本代碼 

來完成一些工作,具體如下: 

1 <action name=”startscene”>
2 set(heading,90);
3 showtext([b】要顯示的字元 】,infostyle);
4 action(activatespot,scene3,190);
5 playsound(s1,sound/sound.mp3,0,o);
6 </action>

每個action的name屬性值同<scene>标簽的n踟e屬性一 

樣,也是必需并且全局唯一的.其作用類似于C#語言中的方 

149 

法名.友善腳本程式設計時進行調用 

在startscene這個動作中.首先設定了視角進入時的水準 

位置。 

在<scene>标簽之中,使用<image>标簽載人全景圖.其代 

碼如下: 

<image type=”SPHERE”><sphere url=”全景圖檔路徑”/>< 

/image> 

本方案使用的是球面全景圖,是以設定tvpe屬性為 

sphere。~<sphere>标簽中的ud屬性中設定要加載的全景圖檔 

的路徑 

在每個場景中都有若幹熱點與相鄰場景進行互聯.點選 

熱點後可以實作場景跳轉。要定義一個熱點.需要使用< 

hotspot>标簽。與其他标簽類似.在<hotspot>标簽中,也需要對 

各個屬性進行設定 

2_4設定地圖 

在展示性項目中.導航地圖可以使使用者友善地知道目前 

場景的位置,是必不可少的。本項目導航地圖的實作.是在 

krpano提供的插件功能和腳本程式設計語言基礎上自行實作的 

地圖.以及地圖上的熱點,都是作為插件存在的。它們的動态 

特性.是通過腳本程式設計實作的。設定地圖的代碼如下: 

1 <plugin name=”map”url=”scenes/map.JPg”keep ”true”
2 align=”righttop”x=”一480”y=”0”alpha=”0.8”handeursor=”false’’
3 sealechildren=”true”width=”480”height=”360”/><span><plugin></span>

<plugin>标簽的url屬性設定要載入的地圖圖檔的路徑。 

X.v屬性設定地圖插件在螢幕上所出現的位置。alpha設定圖檔的透明度。width與height屬性設定地圖插件的寬高。當場景跳轉時.如果跳轉後的場景與前一個場景位于同一地圖中.地圖不會變化.如果進入到了新的地圖場景中.地圖會自動更換地圖顯示,也可以隐藏,可以通過點選導航圖按鈕實作。

2.5設定地圖上的熱點

為了标明系統所有場景在地圖上的位置和目前場景的位

置.需要使用地圖熱點。

每個場景在地圖上具有對應的熱點标出 代表目前場景

的熱點,其圖示與其他場景不同,以示差別。同時,點選某個熱

點。也會跳轉到相應的場景中。

這些場景熱點也是通過插件方式實作的 每個熱點都是

一個插件.通過設定插件屬性實作其各種功能.其配置如下:

<plugin name=”插件名”ur1=”插件所用圖檔的位址”

keep=’’true”parent=’’map’’align=’’left”edge=’’center”x=”162’’

v:”495”z0rder:=”2”onhover="showtext(想要顯示的場景資訊)I,

οnclick=”loadscenefscenel,null,MERGE,BLEND(1));/>

其中naine屬性設定插件名.這是一個全局唯一的名稱

url設定預設的供熱點使用的圖檔的路徑。parent屬性設定插

件的父插件名稱

2.6設定按鈕

按鈕的作用.通常是點選後出發事件.進而執行一系列的

動作。在krpano中,附帶有預定義的按鈕,可以實作系統預定

義的功能。也可以使用krpano強大的插件和腳步程式設計功能.白

定義按鈕

K_~pano預定義的按鈕主要包括:全屏,左轉,右轉,上轉,

下轉,全屏,滑鼠樣式轉換。其功能的實作也是依靠腳本語句..

這些預定義的功能被單獨寫在一個配置檔案中.krpano的主

配置檔案用<include>标簽包含這個配置 同時也要注意修改

相關的圖檔路徑。使用方法如下:<include url="butt0n/buttons—

png—include.xml”/>。

在引用預定義的按鈕配置時.要注意預定義的配置檔案

和配置檔案所引用的檔案的相對路徑.避免出現錯誤

在本項目中,除了使用預設的按鈕外,還需要兩個按鈕.

一個是聲音播放按鈕,一個是地圖顯示按鈕 采用krpano的插

件和腳步功能實作。聲音播放按鈕的代碼為:

<plugin name=”sndl”url=”sound/soundonof.png”align=”

leftbottom”x=”10”y=”5”alpha=”0.6”scale=”1.0”keep=”true’’

onover=”tween(alpha,1);”onout=”tween(alpha,0.6);”crop=”0101501

50”οnclick=”switch(soundinterface.mute);switch(crop,010150150,

01501501501;”/>

Onclick屬性設定了關閉或者打開soundinterface插件 、默

認為播放,當點選後聲音停止,并且圖示改變為關閉方式,再

次點選,播放聲音,圖示變為播放方式。

地圖按鈕的代碼為:

<plugin name=”showmap”keep=”true”url=”daohang.png”

visible=”true”align=”rightbottom”onclickA=”set(state,,A,);tween

(plugin[map].X,0%);”oncliekB=”set(state,"B3;tween(plugin[map].x,

一480);”οnclick=”if(state=:,A ,onclickB0,onclickA0);”y=”5”/

>