if元素说明文档(1.21)

<if>

更新 2023.12.11 krpano 1.21.2
只有满足条件时,才分析 XML 的特定部分。
if 属性类似,但适用于多个 xml 元素。注意 – 这里有一个限制: <include> 元素始终会被加载/包含,即使条件可能不满足。这是因为include解析是实际xml解析之前的单独初始过程!

<if check=”条件”>
… 其他xml元素 …
</if>
属性名 类型 默认值
check String
用于检查的条件/表达式。
此处使用的变量必须是已定义的变量。

 

cssstyles元素说明文档(1.21)

<cssstyles>

更新 2023.12.11 krpano 1.21.2

直接在 xml 文件中定义任意CSS 样式。

等同于html 文件中包含.css文件或html文件<head>部中定义的<style>元素。

定义CSS样式/类,是为在具有cssclass设置的textfield或图层/容器中使用它们。

语法:

 

注意:

  • krpano不解析<cssstyles>元素内的内容,但因为需要在xml进行定义,所以xml语法规则以及若干xml实体自动解析过程仍然生效。
  • 为了避免任何的xml语法规则和xml实体解析,需将整个数据内容放在 <![CDATA[以及]]> 内。这样所有字符和xml标签都不会被解析。
  • 例子 – 使用 CDATA 避免xml解析:
<cssstyles><![CDATA[

]]></cssstyles>

layer/hotspot元素说明文档(1.21)

<layer><hotspot>

更新 2023.12.11 krpano 1.21.2

<layer> 与<hotspot> 是krpano主要的界面交互元素:

  • layer元素基于 2D 屏幕空间,是可用于所有类型的布局元素。可包含图像,文本,按钮,视频,也可以为其他layer创建容器以及添加特殊元素,如嵌入iframe,html代码甚至其他krpano viewer。
  • hotspot元素与layer元素基本相同,但处于全景图/3D空间中。
  • hotspot元素还能绘制多边形或直线。
  • 这两种元素可通过父设置或定义更多layer子元素来组合、堆栈、继承。
  • 从技术上看,layer元素就是HTML元素,hotspot元素可以是HTML元素也可以由WebGL绘制,这取决于 renderer 设置和hotspot的类型(type),以及是否需要进行立体渲染(stereo-rendering )。

关于 <plugin> 元素:

  •  <plugin> 元素和 <layer> 元素本质上是同一元素
  • 仅仅名字不同而已。
  • 任何时候都可以使用<layer>或<plugin> 或反向来处理相同的元素。在静态xml代码和动态Action或Javascript代码中,是相同的。
  • 术语 ‘plugin(插件)’ 来自krpano的老版本,其中的插件主要用于包含用于进一步交互的外部工具。
  • 如今,该元素提供了更多的布局功能,因此较新的术语“layer(图层)”更好地描述了它的行为、
  • 因此建议<plugin>仅在包含使用附加功能扩展的krpano插件(如SoundinterfaceWebVR插件)时使用,<layer>则使用在所有与布局相关的元素。

目录

(更多…)

debug元素说明文档

<debug>

更新 2023.12.11 krpano 1.21.2

跟踪/输出xml解析过程中的信息。
注意 – 调错信息只有在debugmode设置启用时可显示!
<debug trace=”…” />
属性名 类型 默认值
trace String
任意数字、文本或表达式

 

hotspot元素说明文档(1.20)

<hotspot>

更新 2022.3.7 krpano 1.20.11

以下为隐藏内容

热点是全景内部区域,热点可以与鼠标发生交互,鼠标可悬停或点击在热点上。热点可用于载入其它全景、链接到其他超链接、改变视角等等。

krpano有两种类型的热点:
(更多…)

textstyle元素说明文档

<textstyle>

以下隐藏内容

更新 2016.4.9 krpano 1.19 pr4

textstyle元素与showtext()动作一起定义所显示的文本样式。textstyle的名字需要作为showtext()的第二个参数进行传递。

官网不建议使用 – 使用新的扩展showtext.xml插件代替!
这个插件的效果基本一致,但能够在Flash和HTML5下工作。
(更多…)

contextmenu元素说明文档

<contextmenu>

更新 2023.12.11 krpano 1.21.2

以下隐藏内容

自定义右键菜单:

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

基本语法:

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

</contextmenu>

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

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

</contextmenu>

(更多…)

events元素说明文档

<events>

更新 2023.12.11 krpano 1.21.2

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>

更新 2023.12.11 krpano 1.21.2

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

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


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

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

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)

(更多…)