Genscript文档-控制台命令

Programming LanguagesOtherGenscript视觉小说框架游戏开发UnityGodotGalgameGensou
02-11-2024 - 18:18
fang_chu
02-11-2024 - 18:18

控制台命令

概述

控制台命令在游戏开发过程中用于调试代码、定位Bug和测试功能。它们为开发者提供了实时反馈,帮助快速识别问题并优化代码,除此之外没有其他用途。控制台命令在游戏开发过程中用以调试代码和定位Bug,除此之外没有其他用处

语法

详解

-@[文本]

该命令可以在控制台打印你想要的文本,并且可以使用变量插值、转义符:

-@Hello World!  |:直接打印文本
-a=Hello World! |:变量赋值
-@{a}           |:打印单个变量也需要使用变量插值
-@你好世界({a}) |:使用变量插值
-@1\+1的值是2   |:使用转义符

控制台输出:

Hello World!
Hello World!
你好世界(Hello World!)
1+1的值是2

什么是变量插值?

变量插值就是在字符串中插入变量的值

在Genscript中你可以使用花括号{}在控制台需要输出的字符串中插入变量的值:

-a=10             |:声明变量a,初始化为10
-@变量a的值是{a}  |:使用变量插值,在控制台需要输出的字符串中插入a的值
|:控制台将输出:变量a的值是10

对于变量插值,Genscript有一个语法糖:
如果花括号里的变量名不符合变量命名规范,控制台将会原样输出该行文本内容


什么是转义符?

转义符是消除掉符号的特殊作用的符号

在Genscript中,你可以使用反斜杠\来转义符:

-a=10     |:声明变量a,初始化为10
-@1+1     |:不使用转义符将计算这个表达式,控制台输出:2
-@1\+1    |:使用转义符,控制台输出:1+1
-@\{a\}   |:使用转义符,控制台将输出{a},而不是10
-@1\\+1   |:你也可以使用转义符转义转义符,控制台输出:1\+1

-@[合法数学表达式]

该命令支持在控制台计算数学表达式(加减乘除以及求余),但是该行不能有除注释外其他内容:

-a=2
-b=4.3
-@1+1
-@a+2
-@a+b
-@(a+b)*2
-@(a+b)/2
-@(a+b)%1

控制台输出:

2
4
6.3
12.6
3.15
0.2999999999999998

表达式解析规则

数学表达式的计算只能使用数值变量(浮点数或整数),使用其他类型的变量将会无法解析表达式

表达式中所有非数字开头的文字、非数字开头含有数字的文字、非数字开头以数字结尾的文字都会被视作变量名,而它前面的数字则会被解析为一个单独的数值

例子:-@这是一个例子1+5的值是6

在上面的命令中:

由于没有将数学运算符转义,该命令将会被视作进行数学运算;

表达式将被解析为:这是一个例子15的值是6+

其中,这是一个例子1的值是6被解析为变量名;

如果这是一个例子1的值是6是未定义变量则无法解析表达式;

如果这是一个例子1的值是6是已定义的数值变量,因为操作符不足,将会忽略变量这是一个例子1的值,并将5和变量的值是6的值相加;


-@<n>

该命令支持在控制台打印多行信息,n代表你想打印的行数

该行后的n行都将被视作是控制台信息,支持变量插值和转义符,无法进行表达式运算

该命令必须单独一行,且该行不能有注释以外的其他内容

-n=10
-@<3>   |:此后三行都是日志信息
多行日志支持变量插值{n}
多行日志也支持转义符\{n\},不想让花括号内的字符被解析为变量就可以用它
多行日志不支持计算表达式,数学表达式1+1将会原样打印
-a=10   |:这一行将是变量声明初始化操作,不会在控制台打印

控制台输出:

多行日志支持变量插值10
多行日志也支持转义符{n},不想让花括号内的字符被解析为变量就可以用它
多行日志不支持计算表达式,数学表达式1+1将会原样打印
Topic status:Normal
569 × 07-11-2024 - 08:36
kohaku