【冰话XS】004:XS基本语法(中)

※☆冰の引言 ☆※
前文详细叙述了XS的函数与变量的语法规范和可用的数学函数与整型浮点型转换,不知道大家学废了没有,下面就来讲讲XS函数在编辑器中的定义与调用,还有各种运算符在XS的使用。

※☆运算符の分类☆※

如图所示,XS中的运算符主要分为三类:算术运算符、逻辑运算符、比较运算符,那么现在针对相关运算符进行详细讲解。

※☆算术运算符☆※
自增/自减运算符只能使用后置自增/后置自减(a++,b--),不能使用前置自增/前置自减(++a,--b)
不能使用复合运算符表达式(+=,-=,*=,/=,%=),exp:a+=1; b-=a;
浮点数与整数混合四则运算规律总结(输出结果的数据类型由最左边变量的数据类型决定)

※☆逻辑运算符☆※
--- 与或逻辑表 ---


※☆比较运算符☆※

※☆官方XS脚本の文件紹介☆※
default0.xs:临时储存xs函数/语句的文件。当你在 [条件-脚本调用] 里编写函数文本,在点击任意触发/条件/效果后,编辑器会检查语法错误,不管是否正确都会写入到default0.xs中,语法正确则不会出现屏幕弹框。所以,不要在这里写任何内容,否则会被实时覆盖掉的。
Constants.xs:官方定义的通用常数文件。这里定义了整个游戏都能用的常数你,可以在任意xs脚本里调用这些常数。
所有的脚本调用文本框,不管是条件的还是效果的,都是有字数限制的,字数限制是256个字符(包括空格,换行一次算一个字符),请各位合理安排空间的使用,对于空格缩进换行这些尽量能省则省,千万别写注释。
如果一个函数写不完,则需要另外新建一个脚本调用,命名一个新的函数,把原来写不完的函数内容放进新函数里面,总之,写不下就另起一个新脚本调用写新函数。
在编辑器优化MOD中为区分 [条件-脚本调用] 和 [效果-脚本调用] 的作用,特改为: [条件 - 脚本调用] → [XS脚本 (仅定义函数)]、 [效果 - 脚本调用] → [XS脚本 (定义/调用执行)]

※☆XS在地图编辑器中的定义【条件 - 脚本调用】☆※
只适用于定义自定义函数,在点击任意触发/条件/效果后,会检查语法错误,如无误,脚本调用的颜色以及对应的触发名会由红色转为绿色。而且!即使触发是关闭的,也不影响正常写入。
--- 条件特性 ---
这个条件是恒成立的。
这个条件会在触发处于开启状态时(注意不是激活状态),不断自行调用其中的函数。
即使触发关闭,这个条件也能正常定义函数,并写入到 [default0.xs] 中。
--- 这个条件可以用于 ---
①先调用函数做一次修改,再让其他条件检测资源量或变量(要注意条件执行顺序先后)
②定义一些函数供效果调用(一定要放在永久关闭的触发里,避免自行调用)。最常用!


※☆XS在地图编辑器中的调用【效果 - 脚本调用】☆※
既适用于写上之前在条件定义的自定义函数的函数名来调用运行该函数,也适用于直接定义函数并自行调用。这个效果会尝试去调用 [default0.xs] 或 其自身输入框 中的函数。
※☆注意:无条件的脚本调用,不管触发是否开启,都会生效!
[1] 调用已有函数:
我们已经定义好了一个函数名为“wangbingbing()"的函数,那么你在效果的脚本调用里写“wangbingbing”或 “wangbingbing()” 或"wangbingbing();"都可以调用它。(仅限单个函数)
[2] 定义函数并自行调用:
你也可以在其中定义函数,比如:
这样这个函数会写入到 [default0.xs] 中,而且效果也会自行调用该函数。
[3] 允许在框内调用多个函数,但只有后一行生效,前一行会被忽略:
替代方案如下:


调用多个函数只能这样写:
注意!不要尝试在 [效果 - 脚本调用] 中调用一个带参数的函数,比如用getAB调用函数getAB(int a=1){}。否则,有概率发生:①游戏崩溃。②该效果执行一次后,本局任何XS函数都将无法工作。你可用一个无参数的函数来调用getAB函数。
※☆return语句与返回值☆※

※☆冰の小结☆※
这一节主要把脚本调用在条件中和在效果中的运用讲清楚,另外详实描述了三大类的运算符在XS的使用,并配有直观的案例讲解。下一篇章将着重描述XS中的判断与循环。
欲知后事如何,请听下回分解


