更新 2018.3.28 krpano 1.19 pr15
使用<action>元素可定义krpano动作。
krpano动作与其它脚本和程序语言的函数相似。.
可在任意位置调用动作 – 通过call接口从事件、从其它动作或从外部来源(JavaScript、插件)。
有两种动作的类型:
- 普通的krpano actions -在Flash和HTML5下使用
- Javascript krpano actions – 仅HTML5下使用
<action name=”…” scope=”” args=”” secure=”false” autorun=”” protect=”false”>
action1();
action2();
…
</action>
action1();
action2();
…
</action>
在一个普通的<action>元素中可放置一系列的krpano action。当该动作调用时,内部的这些动作将一个接一个被执行。
查看:
参数传递/解析
当调用一个动作时,可以进行参数传递。
要在action内使用参数,有两种办法:
1.使用占位符替换
- 可使用 %0 到 %99占位符在动作中获得指定的参数。
- %0代表action的name,%1 代表第一个参数,%2 代表第二个参数,如此类推。
- 可在动作中任意位置任意方式使用这些占位符。
- 参数传递是简单的文本替换。这意味着在action内代码执行之前,所有的占位符会被所指定的参数所替换。
- 如果占位符没有指定的参数,则有“null”替代。
- 若在动作中使用 % 字符,则需使用%% 。
2.使用参数到变量映射
对于使用args属性的的局部变量可以添加到action元素中,例如
1 |
<action ... args="var1, var2, var3"> |
- args属性中的变量名对应着给点的动作参数(由逗号分隔)
- 每个动作参数将会映射到动作中同名的局部变量
- 这些变量可以跟动作的其它变量一样正常使用
- 如果对于给定的变量没有参数传递,则使用null
- 使用变量映射可以解决当变量数值包含引号或逗号的问题。正常的占位符替换在这样的情况下会出问题
注意 – 如果可能的话推荐使用参数到变量映射,没有 %N 占位符的动作可内部生成缓存,这使得后续的调用速度更快。
Javascript krpano actions (仅HTML5下使用)
Javascript actions则直接支持使用JavaScript代码。在更复杂的情况下响应速度更迅速。JavaScript actions只在HTML5下可用。
Javascript <action>中预定义了以下对象和函数:
- krpano – krpano接口对象 (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 条评论