运算符介绍
什么是运算符
运算符 是用于执行程序代码运算,来针对一个以上操作数项目来进行运算的符号。例如:2+3,其操作数是2和3,而运算符则是“+”。在萌芽引擎中运算符大致可以分为5种类型:算术运算符、函数运算符、关系运算符、逻辑运算符、条件运算符
运算符的用途
我们都知道在GUI的每种组件的配置里,我们都会看到如下类似的配置格式.
enable: true
locationX: "90"
locationY: "90"
locationZ: "0"
我们可以看到,配置里我们可以填写布尔值true
/false
,又或是其他的数字。
事实上,这些配置我们不一定要明确的填写true
/false
,又或是其他精准的数值。我们可以为它们填写一个由运算符组成的计算式
enable: exist(萌芽,萌)
locationX: "100+90"
locationY: "0.5*90"
locationZ: "%player_level%/30"
Tips:在计算式里的操作数也可以是变量哦
运算符类型
算术运算符
运算符符号 | 运算符含义 | 求值类型 |
---|---|---|
+ | 加 | 数字 |
- | 减 | 数字 |
* | 乘 | 数字 |
/ | 除 | 数字 |
% | 求余数 | 数字 |
** | 乘方 | 数字 |
() | 括号内优先运算 | / |
函数运算符
Tips:表格内下x与y皆指代任意未知数
运算符符号 | 运算符含义 | 求值类型 |
---|---|---|
sin(x) | 取x的正弦值 | 数字 |
cos(x) | 取x的余弦值 | 数字 |
tan(x) | 取x的正切值 | 数字 |
sinh(x) | 取x的双曲线正弦值 | 数字 |
cosh(x) | 取x的双曲线余弦值 | 数字 |
tanh(x) | 取x的双曲线正切值 | 数字 |
asin(x) | 取x的反正弦值 | 数字 |
acos(x) | 取x的反余弦值 | 数字 |
atan(x) | 取x的反正切值 | 数字 |
atan2(x,y) | 取给定的(x,y)坐标值的方位角 | 数字 |
deg(x) | 将x从弧度转换为角度 | 数字 |
rad(x) | 将x从角度转换为弧度 | 数字 |
abs(x) | 将x取绝对值 | 数字 |
round(x) | 将x四舍五入 | 数字 |
ceil(x) | 将x向上取整 | 数字 |
floor(x) | 将x向下取整 | 数字 |
exp(x) | 以e为底数,取ex | 数字 |
ln(x) | 以e为底数,取ln (x) | 数字 |
log(x) | 以10为底数,取log10 (x) | 数字 |
sqrt(x) | 取x的平方根 | 数字 |
pow(x,y) | 以x为底数,y为指数,取xy | 数字 |
min(x,y) | 取x与y中的较小值 | 数字 |
max(x,y) | 取x与y中的较大值 | 数字 |
rnd(x) | 取0到x内的随机数 | 数字 |
sign(x) | 取x的正负符号 | -1或1 |
关系运算符
运算符符号 | 运算符含义 | 求值类型 |
---|---|---|
> | 大于 | true/false |
< | 小于 | true/false |
= | 等于 | true/false |
>= | 大于或等于 | true/false |
<= | 小于或等于 | true/false |
!= | 不等于 | true/false |
逻辑运算符
运算符符号 | 运算符含义 | 求值类型 |
---|---|---|
&& | 且 | / |
|| | 或 | / |
条件运算符
运算符符号 | 运算符含义 | 求值类型 | 示例 |
---|---|---|---|
if(条件0,语句1,语句2) | 判断条件0,成立则执行语句1;不成立则执行语句2 | / | if(10>1,10,20) 结果为10 |
str(字符串1,字符串2) | 对比两个字符串是否相等 | true/false | str(萌芽,萌芽) 结果为true |
notStr(字符串1,字符串2) | 对比两个字符串是否不相等 | true/false | notStr(萌芽,萌芽) 结果为false |
exist(字符串1,字符串2) | 对比字符串1是否包含字符串2 | true/false | exist(萌芽,萌) 结果为true |
notExist(字符串1,字符串2) | 对比字符串1是否不包含字符串2 | true/false | notExist(萌芽,萌) 结果为false |
startStr(字符串1,字符串2) | 对比字符串1的开头是否为字符串2 | true/false | startStr(萌芽,萌) 结果为true |
notStartStr(字符串1,字符串2) | 对比字符串1的开头是否不为字符串2 | true/false | notStartStr(萌芽,萌) 结果为false |