action元素说明文档

<action>

更新 2018.3.28 krpano 1.19 pr15

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

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

有两种动作的类型:



普通的krpano actions

<action name=”…” scope=”” args=”” secure=”false” autorun=””  protect=”false”>
action1();
action2();

</action>

在一个普通的<action>元素中可放置一系列的krpano action。当该动作调用时,内部的这些动作将一个接一个被执行。

查看:


krpano动作/函数的调用约定

参数传递/解析

当调用一个动作时,可以进行参数传递。

要在action内使用参数,有两种办法:

1.使用占位符替换

  • 可使用 %0 到 %99占位符在动作中获得指定的参数。
  • %0代表action的name,%1 代表第一个参数,%2 代表第二个参数,如此类推。
  • 可在动作中任意位置任意方式使用这些占位符。
  • 参数传递是简单的文本替换。这意味着在action内代码执行之前,所有的占位符会被所指定的参数所替换。
  • 如果占位符没有指定的参数,则有“null”替代。
  • 若在动作中使用 % 字符,则需使用%% 。

2.使用参数到变量映射

对于使用args属性的的局部变量可以添加到action元素中,例如

  • args属性中的变量名对应着给点的动作参数(由逗号分隔)
  • 每个动作参数将会映射到动作中同名的局部变量
  • 这些变量可以跟动作的其它变量一样正常使用
  • 如果对于给定的变量没有参数传递,则使用null
  • 使用变量映射可以解决当变量数值包含引号或逗号的问题。正常的占位符替换在这样的情况下会出问题

注意 – 如果可能的话推荐使用参数到变量映射,没有 %N 占位符的动作可内部生成缓存,这使得后续的调用速度更快。



Javascript krpano actions (仅HTML5下使用)

<action name=”…” type=”Javascript autorun=””><![CDATA[

Javascript代码

]]></action>

Javascript actions则直接支持使用JavaScript代码。在更复杂的情况下响应速度更迅速。JavaScript actions只在HTML5下可用。

Javascript <action>中预定义了以下对象和函数:

  • krpanokrpano接口对象 (get, set, call, trace, …)。
  • args[] – 包含有传递参数的一个数组(args[0] = action的名字, args[1] = 第一个参数, …).
  • caller – 调用了该函数的 <layer>,<plugin> 或 <hotspot> 元素的对象。
  • resolve(str) – 解析/获取krpano变量/路径的函数。类似默认的krpano变量解析 – 当指定的变量/路径存在,则返回其数值,当不存在时,则返回所传递的数值。
  • actions – 获取内置原生krpano actions的对象 (例如调用actions.tween(…); 来执行tween 动作);

以下隐藏内容只提供VIP赞助会员,VIP会员说明请查看置顶文章

在 “action元素说明文档” 上有 3 条评论

发表评论