krpano官网文档翻译-------krpano动作/脚本参考【krpano Actions / Scripting Reference】

 🧑‍🎓 个人主页:《爱蹦跶的大A阿》

🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》《krpano》

​ ​

✨ 前言

        Krpano有一个小而简单的动态脚本语言。有了它,krpano可以通过多种方式进行定制。命令或函数在krpano中称为“action”。可以使用现有的操作,也可以定义新的操作。脚本语言是动态的,默认情况下是无类型的,只有一些预定义的变量是类型的,但这通常是不相关的,因为在脚本中所有类型转换都将自动完成。
关于本文档
        本文档是关于全局krpano变量和对象,关于操作调用语法和所有预定义的krpano操作/函数。

文档的主题:

  • 全局变量的引用
  • 动作/功能参考
  • 语法和用法
  • 表达式/函数
  • 数组

关于静态xml代码和对象属性的文档,请查看:

👉 krpano XML Reference

语法和用法

基本语法

  • krpano操作代码是命令列表。
  • 每个命令都需要以分号结束,除了最后一个命令,分号是可选的。
  • 命令之间的空白字符或换行符将被忽略。
  • 例子:
    command1; command2;
    command3;
    ...
  • 命令可以是变量赋值:
    variable=expression;
     或者一个动作调用:
    action(parameters);

变量赋值

  • 语法
    variable=expression;
  • 通过变量赋值,可以创建新变量或更改现有变量的值。
  • 表达式可以是一个简单的值,也可以是另一个变量或更复杂的表达式。
  • 以下是变量赋值操作符:
  1. = -只设置/复制该值。
  2. += -添加值。
  3. -= -减去该值。
  4. *= -将变量与给定值相乘。
  5. /= -将变量除以给定值。
  • 例子:
    a = 1 + 2;  // a will be 3
    b = a + 3;  // b will be 6
    trace(b);   // output '6'
    b *= 2;
    trace(b);   // output '12'
    
    str = "Hello: " + name;
    
    str = "hlookat=" + roundval(view.hlookat, 2);

    action调用

  • 语法:

    action(parameters);
    action(parameter1, parameter2, parameter3);
    action(get(variable));  or  action(*variable);
    action(calc(expression));  or  action((expression));
    action('a quoted text, can contain with commas');

  • 其中“action”可以是:
  1. 内置krpano操作的名称,
  2. <action>元素的名称,
  3. 包含krpano操作代码或的变量的名称
  4. 引用Javascript函数的变量名。
  • 当传递多个参数时,参数之间需要用逗号分隔。
  • 参数之间的空白字符(如空格、制表符、换行符)将被忽略。
  • 参数值传递:
  1. 参数将作为文本写入操作时传递。
  2. 当参数是变量时,只传递变量名,而不传递变量的值!
  3. 要传递变量的值,需要使用get(variable)或*变量。
  4. 要传递更复杂的表达式,可以使用calc(expression)或just (expression)作为参数。
  5. 注意-某些操作可能会自动将变量解析为它们的值!
  • 为了能够在参数值中使用空白字符和逗号,参数必须用单引号“或双引号”括起来。

Comments

  • 语法:
    action(parameters);
    action(parameters); // this is a single-line comment
    action(parameters);
    /* a multi-line comment
    action(parameters); */
    action(parameters);
    <!-- a xml comment
    action(parameters); -->
    action(parameters);
  • 有一个单行注释,从//开始到下一个换行符。
  • 从/*到*/的多行注释。
  • 以及来自<!——到——>。只有在xml文件中定义了相关代码时,这些注释才会起作用,在xml解析过程中,它们已经被剥离了。

✨ 结语