快捷导航
查看: 266|回复: 0

[技巧] 【js在MV/MZ中的华丽操作】布尔运算(and和or的用法)

[复制链接]
会员等级

积分信息
金币:725
元宝:20
活跃:187
发电:0

荣誉勋章
热心会员优秀版主首批会员最佳新人

TA的形象
UID: 6 发表于 2022-12-22 16:20:51 | 显示全部楼层 |阅读模式
说一个简单易懂而且实用的小技巧,布尔运算,就是true和false的运算。我们也经常用,说直白一些就是 and 和 or 的运用。

先举例:
1.JPG
上面这个图,表示通过将金币带入变量1,然后当金币在100至200之间时,显示“能买”,否则显示“不能买”。可以看出,在【否则】这个标签上,如果层级一多,很容易就混乱了。
这个时候,布尔运算就派上了用场。因为我们的判断条件是【变量大于等于100】、【变量小于等于200】同时满足,所以只需要用 【&】将两个条件进行连接即可。
2.jpg
如果在范围内,就怎样怎样,不再范围内(否则),就怎样怎样,方便排除BUG或者维护。
将代码放在分支条件的“脚本”中,注意括号的层级逻辑即可。《事件判定脚本》

同时满足用:&
满足1个即可:|

[JavaScript] 纯文本查看 复制代码
var ID_of_actor = [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23];
for(var i=1;$gameSwitches.value(25);i++){
var get_ID_of_ku = ID_of_actor[Math.floor(Math.random() * ID_of_actor.length)];
if((get_ID_of_ku==$gameVariables.value(27))||($gameParty.members().includes($gameActors.actor(get_ID_of_ku)))){
ID_of_actor.remove(get_ID_of_ku);
}
else{$gameSwitches.setValue(25,false)}
}
$gameVariables.setValue(28,get_ID_of_ku);

放一段《缝合尖塔》每层的随机抽人机制,看if(  )的部分,实现的功能是:如果随机到的角色ID与变量27号重复(因为27号变量用来记录上一次抓取了)或者 这个随机到的ID 与队伍中已有的角色ID重复了,则从序列中删除掉这个数,重新再随机选一个数。
这如果用纯事件写,当然也能完成,但会冗杂。



评分

参与人数 1活跃 +9 收起 理由
Admin + 9 666

查看全部评分

帖子的最近访客

回复 论坛版权

使用道具 举报

ahome_bigavatar:guest
ahome_bigavatar:welcomelogin
您需要登录后才可以回帖 登录 | 加入民族

本版积分规则

论坛用工具

蓝凑云 hello图床 聚合图床 TinyPNG remove 代码测试 颜色代码 颜色代码2

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

实用工具

AI人工智能图片放大 图片无损放大 Deepl翻译器 百宝箱 孟坤工具箱 在线压缩图片 图片切圆角

您一共访问了本站 加载中...

Archiver|小黑屋|RPG民族

GMT+8, 2024-10-23 06:26 , Processed in 0.172481 second(s), 54 queries .

快速回复 返回顶部 返回列表