设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5421|回复: 12
打印 上一主题 下一主题

[推荐问答] 避免套娃!使用事件系统“条件分歧”指令的小技巧

[复制链接]

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
22632
在线时间
2345 小时
注册时间
2005-10-15
帖子
1160

开拓者

跳转到指定楼层
1
发表于 2020-6-13 17:15:34 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 SailCat 于 2020-6-13 17:30 编辑

其实一直想写一下这个FAQ,自己遇到过这样的问题,也被提问过这样的问题,昨天看R叔的考场7解说有感而发,就整理一下吧。

RM的“条件分歧”指令(Conditional branch)是所有RM通用的基础指令,也是非常重要的一个。因为只有有了这个指令,我们才可以在事件执行列表中避开顺序结构,实现分支结构。当然,自带分支结构的指令如“显示选择项”“战斗处理”就不多说了。
但是这个指令的局限性很大,主要原因是,除非使用条件分歧里的脚本,否则一个“条件分歧”指令只能判定一项内容,并且对于除了金钱、步数、计时器以外的其他游戏对象数值性的判断,没有直接接口,只有“变量”这一个选择。
这就要求在使用条件分歧时,不得不用临时变量代入要判断的数值,然后再去判断,本来这也没什么。
但是如果是两个游戏对象数值相比较呢?(用两个变量就是了)
但是如果是两组游戏对象数值相比较呢?比如角色的X、Y,事件的X、Y(用四个变量就是了)
但是如果有多个条件要同时满足呢?
但是如果有多个条件要满足一个呢?
但是如果有多个条件对应多个分支呢?
这些要求都是挺常见的吧,但是如果没有技巧,就很容易写出套娃指令。
套娃指令一个是逻辑不好管理,另一个是套的层数多了以后,缩进多了,在编辑器里显示不完整了,这非常要命。

诚然变量5K个是用不完的,但是变量太多不利用工程管理,而且一个变量用完就扔也很浪费。
因此在这里,介绍一个使用“条件分歧”指令的技巧。说是使用这个指令的技巧,但是其实大部分技巧性内容和“条件分歧”这条指令本身没有任何关系,是使用其他相关指令的技巧为“条件分歧”来服务。
用到的指令主要有:变量操作、标签、标签跳转、中断事件处理
我自己在R7考场中使用了下面技巧中的部分,逐一解说一下:

1. 利用“加法原理”实现多重判断

2. 利用“乘法原理”实现多重判断(多个满足所有)

3. 利用变量复用技巧减少变量的使用数目

4. 卫语句处理,减少缩进

5. 多标签实现switch-case型判断(多分支)


好了,以上就是给大家分享的事件系统中使用“条件分歧”指令的小技巧,希望有用。

评分

参与人数 19星屑 +100 +19 收起 理由
ghostboy + 1 我很赞同
鑫の尘埃 + 1 我很赞同
miantouchi + 1 精品文章
冥墨幽 + 1 塞糖
涅炎 + 1 实践出真知
zyf722 + 1 精品文章
enghao_lim + 1 塞糖
Six_Fish + 1 赞美猫姐
ssrwkx + 1 精品文章
89444640 + 1 塞糖

查看全部评分

SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-6-13 03:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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