编者按:
上一节介绍了Lua中如何使用判断语句来给变量赋值,那这一节讲点跟MA实际的相关的内容。
假设我们想把当前场景保存到第3页第2执行器的 cue1,并给它起名字为“intro”
那它的命令应该是:
Store Executor 3.2 Cue 1 "intro" /o
而它的 Lua 应该是:
gma.cmd('Store Executor 3.2 Cue 1 "intro" /o')
然而,通常我们写脚本程序的时候不仅仅使用上面的文本格式,而是文本和变量的组合
page = 3 exec = 2 cue = 1 name = 'intro'
然后使用合并运算符(..)把多个变量连成一串
gma.cmd('Store Executor '..page..'.'..exec..' Cue '..cue..' "..name..'" /o')
但这个方法的弊端也很明显,就是很难阅读,既要分清楚那些是引号内(文本)的东西,那些是引号外(变量)的东西,又要看清楚那些是单点(.),那些是合并运算符(..)
实际上我们可以使用 Lua 的一个内置函数 string.format 来解决这个问题,它可以将变量插入到文本中
page = 3 exec = 2 cue = 1 name = 'intro' syntaxstring ='Store Executor %i.%i Cue %i "%s" /o' mycommand = string.format(syntaxstring, page, exec, cue, name) gma.cmd(mycommand) -> Store Executor 3.1 Cue 1 "intro" /o
请注意!百分比符号%和字母的组合,例如%i,%s,其中 %i 代表整数型数字,%s 代表字符串
string.format 函数的第一个参数是要修改的字符串,后面是要插入的变量,然后将修改后的字符串作为结果返回,格式如下:
resultstring = string.format(sourcestring, var1, var2, ... )
下一节我们将简单了解一下 MA 的预定义函数,和一些简单应用,敬请期待。
欢迎您关注网站的微信公共平台,我会尽快将教程及资讯信息发布到微信公众平台上:
欢迎您加入我们的QQ群,一起讨论解答技术问题:
请注意,所有留言将通过审核后才会显示,请不必重复留言。