contextmenu元素说明文档

<contextmenu>

更新 2025.2.7 krpano 1.22.3

以下隐藏内容

自定义右键菜单:

  • 添加用户自定义的条目…
  • 将这些条目指定到krpano动作代码…
  • 调整“krpano”条目顺序…
  • 使用CSS样式化…

基本语法:

<contextmenu>
<item caption=”…” onclick=”…” />
<item caption=”…” onclick=”…” />

</contextmenu>

包含所有可用设置的语法:

<contextmenu fullscreen=”false”
versioninfo=”true”
touch=”true”
customcssclasses=””
enterfs=”Fullscreen”
exitfs=”Exit Fullscreen”
                        >
<item name=”…”
caption=”…”
enabled=”true”
visible=”true”
separator=”false”
showif=””
onclick=”…”
/>
<item name=”…”
caption=”…”
onclick=”…”
/>

</contextmenu>

(更多…)

action元素说明文档

<action>

更新 2025.2.7 krpano 1.22.3

以下隐藏内容

使用<action>元素可定义krpano动作。
krpano动作与其它脚本和程序语言的函数相似。.

可在任意位置调用动作 – 通过call接口从事件、从其它动作或从外部来源(JavaScript、插件)。

<action>元素通常在xml根级定义,但也可以在<layer><hotspot>元素中定义。在这种情况下,这些动作只能从该层/热点元素及其子元素调用。

有两种动作的类型:

(更多…)

events元素说明文档

<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函数回调。

area元素官方说明文档

<area>

更新 2025.2.7 krpano 1.22.3

定义全景图像展示的区域/窗口。

两种定义区域位置和尺寸的模式:


可在onresize事件中动态改变/调整这些设定。如果在onresize事件之外改动了area设置,那么在下一次屏幕刷新时候将会调用一个onresize事件,针对新的区域/窗口尺寸作出回应。

注意 – 所有的<layer> / <plugin>元素都要放在这个区域内。如果要把<layer> / <plugin>元素放在区域外面,将该layer/plugin的parent属性设置为“STAGE” 或者”OVERLAY”。
(更多…)

如何避免krpano的语法错误

不愿意见到的黑屏

刚接触krpano的朋友,最初目的很可能是想在手机上观看全景,krpano的两套viewer,Flash和HTML5正好满足了跨平台的需求,而且同一个地址就能在电脑和手机观看,于是我们的朋友很开心在电脑上看到了出色的全景效果,但当在手机上打开地址时,却弹出下面这个黑色画面,什么意思?FATAL ERROR,致命错误,载入或解析失败

(更多…)

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的情况,可加快启动项目时的速度。

<include url=”path/name.xml” />

(更多…)

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)

(更多…)

autorotate元素完全解析

autorotate元素概述

autorotate是控制场景自动旋转的元素。通常只需要在代码中添加一次。用户可以像下面那样直接添加静态代码,也可以在action代码中设置autorotate元素的各项属性。如果要改变autorotate元素的属性,只需要使用set这样的简单设置,例如set(autorotate.enabled,false);  (更多…)

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使用这些元素。

(更多…)

preview元素完全解析

preview元素简述

这是对全景图像完全载入之前时显示的“预览”全景图像的路径或图像文件的定义。我们在preview元素定义的这张预览图应该是小体积(大小和图像分辨率)的,这样才能快速加载。

(更多…)

krpano动作完全解析索引

krpano全局变量完全解析

krpano action完全解析

程序逻辑 /流控制

数学运算与函数

数字 / 字符串格式化

动画 / 动态数值变化

动态加载全景

浏览动画 / 摄影机控制

自动旋转

坐标转换

深度图/3模型信息

  • screentodepth
  • raycastdepth

文字可视化

视野/全景刷新

动态添加或移除屏幕元素

Layer / Plugin / Hotspot动作

外部 / Javascript接口

  • js
  • jscall
  • jsget
  • js:code

HTML / CSS接口

  • addcssstyles

仅限Javascript的API(仅可从Javascript调用)

  • krpano.events.addListener(eventname, callback)
  • krpano.events.removeListener(eventname, callback)

调试