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”/
>