Lazy Nezumi Pro 的脚本教程(二)

394 阅读3分钟

本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力

脚本语言

在 LNP (Lazy Nezumi Pro)中,脚本程序是由由分号分隔的一系列语句定义的。从上到下读取和计算语句。这些语句可以由变量赋值、函数调用和数学表达式组成。所有变量都包含实数(存储为 32 位浮点数)。 下面是一个典型的例子:

wave = triangle(d/period);

在这个例子中,变量 d 的值除以变量 period 的值,结果作为参数传递给 triangle 函数,该函数将其结果赋给 wave 变量。

变量名可以包含以下字符:

_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

它们不应该以数字字符开始。与其他脚本语言不同,在语句中使用变量之前不需要声明变量。

如果在表达式中使用一个变量来产生结果,则将其视为输入变量,如果为其赋值,则将其视为输出变量。变量既可以是输入变量,也可以是输出变量。

如果脚本包含的输入变量不是输出变量(它们在语句中使用,但没有语句为它们赋值),则将这些变量视为脚本参数,并在编译成功后显示在模式列表下的 UI 中。这将允许用户通过滑块或输入框设置它们的值。

条件赋值可以通过以下语法执行:

a = condition ? b : c;

在这里,如果条件测试为真的话,变量a将收到值b,否则a将收到值c

所有预定义的输入/输出变量、用于数学表达式的操作符和函数都在脚本参考页面的表格中进行了描述。

从 LNP 的 211.06.04 版本开始,您可以在脚本中编写注释来记录它的功能。编译器将忽略 // 后面直到行尾的所有文本,以及 /**/ 之间的所有文本。

脚本引擎操作

当您开始使用启用脚本程序进行绘图时,所有输出变量(预定义的,以及您自己定义的)都初始化为零。当你在绘图时输入新的平板电脑数据时,预定义的输入变量值将被更新,程序将被评估计算,预定义的输出变量将被读取并用于修改,再传递给美术应用程序的数据以绘制线条。

注意,如果不需要,您不必修改所有预定义的输出变量。如果程序只影响输出压力(变量 op ),或者只影响笔的位置(变量 oxoy ),这是完全可以接受的。但是,为了使程序成功编译,您至少需要修改其中一个变量。

与标尺一样,在使用脚本时,请确保关闭美术应用的画笔平滑/稳定功能。由于应用程序的平滑是在所有 LNP 处理后应用的,让它打开可能会干扰你的脚本输出,并改变你的图案的预期形状。如果你需要稳定,你可以使用 LNP 的平滑,因为这是在脚本之前应用的