<lensflareset> (仅Flash下使用)
krpano代码基础
lensflare元素说明文档
<lensflare> (仅Flash下可用)
更新 2018.3.28 krpano 1.19 pr15
定义一个镜头眩光(太阳光源)。
(更多…)
contextmenu元素说明文档
更新 2025.2.7 krpano 1.22.3
以下隐藏内容
自定义右键菜单:
- 添加用户自定义的条目…
- 将这些条目指定到krpano动作代码…
- 调整“krpano”条目顺序…
- 使用CSS样式化…
基本语法:
包含所有可用设置的语法:
action元素说明文档
更新 2025.2.7 krpano 1.22.3
以下隐藏内容
使用<action>元素可定义krpano动作。
krpano动作与其它脚本和程序语言的函数相似。.
可在任意位置调用动作 – 通过call接口从事件、从其它动作或从外部来源(JavaScript、插件)。
<action>元素通常在xml根级定义,但也可以在<layer>和<hotspot>元素中定义。在这种情况下,这些动作只能从该层/热点元素及其子元素调用。
有两种动作的类型:
events元素说明文档
更新 2025.2.7 krpano 1.22.3
krpano事件 – 当特定事件调用时可以执行action或指定的功能。
以下隐藏内容
有以下类型的事件:
- 全局krpano事件
一个不具有name属性的 <events> 元素定义的事件都是全局事件。通常只有一个全局事件。当有另一个 <events>标签定义相同的事件时,之前定义的同一事件就会被覆写。
注意 – 当载入另一个xml文件或其他场景时,所有全局事件将保留,它们不会发生改变,除非在新的xml文件或场景中被再次定义。 - 独立局部krpano事件
一个具有name属性的 <events> 元素定义的事件都是独立事件。
它可以包含所有类型的事件,但它们不会覆写全局事件,它们是另外进行调用的。
这些被“命名”的<events>元素同样具有keep属性(默认值为false)。这意味着没有keep=”true”的<events>元素在新全景载入时将会被自动移除。 - Javascript 事件回调
使用events.addListener()和events.removeListener()函数可以使用直接Javascript函数回调。
display元素说明文档
更新 2025.2.7 krpano 1.22.3
调整全景图渲染品质/性能以及显示模式的设定。
以下隐藏内容
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”
hotspotvrzoom=”500″
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元素官方说明文档
更新 2025.2.7 krpano 1.22.3
定义全景图像展示的区域/窗口。
两种定义区域位置和尺寸的模式:
- 或通过定义尺寸和位置 (mode=align)。
- 或定义边界边距 (mode=border)。
可在onresize事件中动态改变/调整这些设定。如果在onresize事件之外改动了area设置,那么在下一次屏幕刷新时候将会调用一个onresize事件,针对新的区域/窗口尺寸作出回应。
注意 – 所有的<layer> / <plugin>元素都要放在这个区域内。如果要把<layer> / <plugin>元素放在区域外面,将该layer/plugin的parent属性设置为“STAGE” 或者”OVERLAY”。
(更多…)
如何避免krpano的语法错误
不愿意见到的黑屏
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元素说明文档
以下隐藏内容
更新 2025.2.7 krpano 1.22.3
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