MA 插件与Lua脚本入门(二)

编者按:

上一节介绍了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群,一起讨论解答技术问题:


请注意,所有留言将通过审核后才会显示,请不必重复留言。

关于 张俊辉

就职于东莞广播电视台灯光组,专注舞美灯光设计图像数字化,为同行推广好用、实用的舞美灯光知识。
Bookmark the permalink.

发表回复

您的电子邮箱地址不会被公开。