krpano代码基础
display元素说明文档
更新 2023.12.11 krpano 1.21.2
调整全景图渲染品质/性能以及显示模式的设定。
以下隐藏内容
autofullscreen=”true”
stereo=”false”
stereooverlap=”0.0″
stereoscale=”1.0″
stereoseparation=”6.5″
monoside=”1″
anaglyph=”false”
safearea=”auto”
mipmapping=”auto”
loadwhilemoving=”auto”
framebufferscale=”1.0″
hotspotvrrendering=”natural”
hotspotvrflying=”500″
hotspotworldscale=”2.0″
depthmaprendermode=”depthmap”
depthmapcachesize=”3″
depthbuffer=”false”
depthrange=”0.1,100000″
surfacesubdiv=”100″
nofullscreenfallback=”true”
wireframe=”false”
wirecolor=”0x00FF00″
chromesubpixelantialiasing=”false”
/>
动态变量:
- display.safearea_inset
- display.havedepthmap
- display.iphonefullscreen
- display.istransparent
- display.currentfps
- display.refreshrate
- display.frame
- display.rframe
- display.viewerwidth / viewerheight
- display.windowwidth / windowheight
- display.screenwidth / screenheight
- display.layout.root / stage / bglayer / overlay
- display.htmltarget
- display.viewerlayer
- display.controllayer
- display.customFullscreenElement
动作/函数:
area元素官方说明文档
更新 2023.12.11 krpano 1.21.2
定义全景图像展示的区域/窗口。
两种定义区域位置和尺寸的模式:
- 或通过定义尺寸和位置 (mode=align)。
- 或定义边界边距 (mode=border)。
可在onresize事件中动态改变/调整这些设定。如果在onresize事件之外改动了area设置,那么在下一次屏幕刷新时候将会调用一个onresize事件,针对新的区域/窗口尺寸作出回应。
注意 – 所有的<layer> / <plugin>元素都要放在这个区域内。如果要把<layer> / <plugin>元素放在区域外面,将该layer/plugin的parent属性设置为“STAGE” 或者”OVERLAY”。
(更多…)
如何避免krpano的语法错误
不愿意见到的黑屏
preview元素说明文档
更新 2023.12.11 krpano 1.21.2
在载入完整分辨率全景图像之前显示低分辨率“预览”图的路径或图像文件。该预览图应是小体积(文件大小和图像分辨率都较小)的,这样才能够快速加载!
include元素说明文档
<include>
以下隐藏内容
更新 2020.9.15 krpano 1.20.8
嵌入其它文件。官方英文文档 include元素完全解析
<include>元素在xml载入过程中被解析。在当前xml文件中的include元素会被所嵌入的xml文件的内容所取代。当这些include元素被解析完毕,viewer将会开始开始分析载入的xml数据,并将其映射到运行中的数据结构。简单来说,就是替换内容——全部分析。
1.20.7版本之后,对于scene元素内的include元素将会在加载该scene时才会开始解析该scene元素内的所include的xml,这对于某个xml中包含大量scene中含有include的情况,可加快启动项目时的速度。
style元素完全解析
使用style的意义
style元素说明文档
<style>
以下隐藏内容
更新 2020.3.5 krpano 1.20.5
<style>元素与style属性:
<style>元素是对任意元素属性进行集合和存储的元素。
其它拥有name属性的xml元素即可包含一个style属性。当该xml元素首次被创建时,所有在对应的<style>元素内的属性将复制/设置到对应元素中。这将在xml元素中定义的属性被应用之前完成。
也即是说可以使用style对元素中某些属性进行预定义,然后在元素的静态写法中对这些属性重新覆盖定义。
可以使用 | 字符整合加载多个style
如果需要动态实时获取style元素中的属性,可以使用下面的动作:
- assignstyle(元素名, styles)
- layer[name].loadstyle(styles)
- hotspot[name].loadstyle(styles)
data元素完全解析
data元素概述
autorotate元素完全解析
autorotate元素概述
autorotate是控制场景自动旋转的元素。通常只需要在代码中添加一次。用户可以像下面那样直接添加静态代码,也可以在action代码中设置autorotate元素的各项属性。如果要改变autorotate元素的属性,只需要使用set这样的简单设置,例如set(autorotate.enabled,false); (更多…)
scene元素完全解析
scene元素概述
scene元素说明文档
以下隐藏内容
更新 2023.12.11 krpano 1.21.2
scene元素从技术上类似内联xml文件。
scene元素可在当前的xml文件中定义一个完整的krpano xml文件内容。有点像外部xml,但只是内嵌在当前的xml中。
scene元素的内容在任何情况下都不会被解析或使用,除非使用loadscene()调用对应名字的scene。
通常做法是只在一个xml文件中定义多个全景。
当使用loadpano()载入外部xml文件时,当前定义过的scene元素将被移除。
可以在scene元素中存储任何自定义属性——viewer本身会忽略这些属性,但可以用自定义action使用这些元素。
krpano xml基本语法规则详解
基本XML语法规则
krpano使用简化的xml文本文件存储krpano viewer的数据。这些文件可以使用任意文本编辑器进行编写和编辑,但在编写xml代码时,需注意符合xml语法规则。本文档的官网英文说明
xml语法规则简单、符合逻辑、易学易用。
下面是规则说明:
preview元素完全解析
preview元素简述
这是对全景图像完全载入之前时显示的“预览”全景图像的路径或图像文件的定义。我们在preview元素定义的这张预览图应该是小体积(大小和图像分辨率)的,这样才能快速加载。
1 |
<preview url="previewpano.jpg" /> |
krpano动作完全解析索引
krpano全局变量完全解析
- random VIP!
- timertick VIP!
- stagewidth、stageheight VIP!
- mouse.x、mouse.y、mouse.stagex、mouse.stagey、mouse.downx、mouse.downy、mouse.clickx、mouse.clicky VIP!
- keycode VIP!
- wheeldelta、wheeldelta_raw、wheeldelta_touchscale VIP!
- browser.useragent、browser.platform、browser.location、browser.domain、browser.protocol VIP!
- hlookat_moveforce、vlookat_moveforce、fov_moveforce VIP!
- stagescale VIP!
- fullscreen VIP!
- xml.url、xml.content、xml.scene、xml.view VIP!
krpano action完全解析
- krpano数组完全解析 VIP!
- krpano表达式完全解析 VIP!
程序逻辑 /流控制
- def VIP!
- set VIP!
- get VIP!try!
- calc VIP!try!
- copy VIP!
- delete VIP!
- if VIP!try!
- ifnot VIP!try!
- delayedcall VIP!try!
- stopdelayedcall VIP!try!
- nexttick
- callwhen VIP!try!
- for VIP!try!
- forall
- renderloop
- stoprenderloop
- loop VIP!try!
- asyncloop VIP!try!
- setinterval VIP!try!
- clearinterval VIP!try!
- toggle VIP!
- switch VIP!
- push/pop VIP!try!
- break VIP!
- exitcall
- callwith VIP!try!
- scope
- parentscopeset
- linkeventscope
- assignstyle VIP!
- copyattributes
- events.dispatch VIP!
- focus
- releasefocus
数学运算与函数
- add VIP!try!
- sub VIP!try!
- mul VIP!try!
- div VIP!try!
- mod VIP!try!
- pow VIP!try!
- inc VIP!try!
- dec VIP!try!
- clamp VIP!try!
- Math.abs
- Math.acos
- Math.asin
- Math.atan
- Math.atan2
- Math.ceil
- Math.cos
- Math.exp
- Math.floor
- Math.log
- Math.max
- Math.min
- Math.pow
- Math.round
- Math.sin
- Math.sqrt
- Math.tan
数字 / 字符串格式化
- roundval VIP!
- tohex VIP!try!
- tolower VIP!
- toupper VIP!
- txtadd VIP!
- subtxt VIP!
- indexoftxt VIP!
- txtreplace VIP!
- txtsplit VIP!
- fromcharcode VIP!
- escape VIP!
- unscape VIP!
动画 / 动态数值变化
- tween VIP!try!
- stoptween VIP!try!
- tween types VIP!try!
动态加载全景
- set3dtransition
- loadpano VIP!try!
- loadscene VIP!try!
- loadpanoscene VIP!
- loadpanoimage & image.reset
- loadxml VIP!try!
- includexml
- includexmlstringloadjs
- loadjs
- openurl VIP!
浏览动画 / 摄影机控制
- lookat VIP!try!
- lookto VIP!try!
- looktohotspot VIP!try!
- moveto VIP!try!
- zoomto VIP!try!
- adjusthlookat VIP!try!
- adjust360
- getlooktodistance VIP!try!
- stoplookto VIP!try!
- stopmovements VIP!try!
- wait VIP!try!
- oninterrupt VIP!try!
自动旋转
坐标转换
- screentosphere VIP!try!
- spheretoscreen VIP!try!
- screentolayer VIP!try!
- layertoscreen VIP!try!
- spheretospace
- spacetosphere
- remapfovtype
深度图/3模型信息
- screentodepth
- raycastdepth
文字可视化
- showtext VIP!
视野/全景刷新
- updateobject VIP!try!
- updatescreen VIP!try!
- invalidatescreen VIP!try!
- display.requestresize
- display.layout.update
动态添加或移除屏幕元素
- addlayer / addplugin VIP!try!
- removelayer / removeplugin VIP!try!
- addhotspot VIP!try!
- removehotspot VIP!try!
- addlensflare VIP!try!
- removelensflare VIP!try!
Layer / Plugin / Hotspot动作
- layer / hotspot[name].addevent(eventname, eventcode)
- layer / hotspot[name].removeevent(eventname, eventcode)
- layer / hotspot[name].triggerevent(eventname)
- layer / plugin / hotspot[name].loadstyle(name) VIP!
- layer / plugin / hotspot[name].registercontentsize(imagewidth,imageheight) VIP!
- layer / plugin / hotspot[name].resetsize() VIP!
- layer / hotspot[name].changealign(align, edge)
- layer / plugin / hotspot[name].updatepos() VIP!
- layer / plugin / hotspot[name].changeorigin(align,edge) VIP!
- layer / hotspot[name].remove(removechildren)
- layer / plugin / hotspot[name].getfullpath()
- hotspot[name].getcenter(ath,atv) VIP!
- hotspot[name].getnormalvec()
外部 / Javascript接口
- js
- jscall
- jsget
- js:code
HTML / CSS接口
- addcssstyles
仅限Javascript的API(仅可从Javascript调用)
- krpano.events.addListener(eventname, callback)
- krpano.events.removeListener(eventname, callback)
调试
krpano action文档索引
krpano action文档
- krpano action的语法与用法 VIP!
- krpano全局变量说明文档 VIP!
- krpano表达式说明文档 VIP!
- krpano数组说明文档 VIP!
- 程序逻辑/流控制函数类action说明文档 VIP!
- 数学运算函数类action说明文档 VIP!
- 数字/字符串格式类action说明文档 VIP!
- tween说明文档 – tween、stoptween VIP!
- 动态载入全景类action说明文档 VIP!
- 浏览动画/摄影机控制类action说明文档 VIP!
- 视野/全景刷新类action说明文档 VIP!
- 坐标转换类action说明文档 VIP!
- 动态添加及移除元素类action说明文档 VIP!
- 文本显示类action说明文档 – showtext VIP!
- 调试类action说明文档 – showlog、trace、error VIP!
- 外部 / Javascript接口action说明文档 – js、fscommand