赞 | 0 |
VIP | 97 |
好人卡 | 40 |
积分 | 3 |
经验 | 52485 |
最后登录 | 2020-7-11 |
在线时间 | 1245 小时 |
Lv2.观梦者 狂気の月兔
- 梦石
- 0
- 星屑
- 276
- 在线时间
- 1245 小时
- 注册时间
- 2009-4-7
- 帖子
- 879
|
本帖最后由 铃仙·优昙华院·因幡 于 2013-9-15 14:48 编辑
这个要说的话, 要说道事件的执行问题了.
这个是事件记得你之前是 "并行事件" , 所以在地图中, 这个事件每次都会被执行. 那么, 让咱先来编号一下:
语句 1: 条件分歧: 独立开关 B == OFF
语句 2: 计时器操作: 开始( 0 分 20 秒 )
语句 3: 独立开关B = ON
语句 4: 分歧结束.
在解释之前你要先知道, 所有的开关和独立开始在初始的情况下, 也就是说在你没有去动它的情况下, 都是关闭的, 也就是都是状态 OFF.
那么, 我们先首次执行这个事件:
"语句 1: 条件分歧: 独立开关 B == OFF "
VX 在执行这个语句的时候, 会先判断 独立开关B 是不是 OFF, 也就是, 是不是关闭的状态. 显而易见的, 第一次执行的话, 必然是 OFF. (除非你在其他地方修改了这个开关). 所以, 到这里的时候, VX 会知道现在的 独立开关 B 是处于关闭这个状态的, 所以会执行在 语句1 和 语句 4 之间的语句.
"语句 2: 计时器操作: 开始( 0 分 20 秒 )"
确定了 VX 会执行接下里的语句之后, VX 就会把目光转向 语句2, 这是打开一个计时器.
" 语句3: 独立开关B = ON"
再接下来, 就是手动把 独立开关 B 打开, 变成了 ON 状态.
" 语句4: 分歧结束."
最后结束这个条件分歧.
由于是并行处理的事件, 那么这四个语句必然会在 VX 的每次刷新中被执行到. 那么, 这是第二次执行的情况:
"语句 1: 条件分歧: 独立开关 B == OFF "
依旧是条件分歧. 判断的条件和第一次执行是一样的(同一个事件嘛). 不过这里要特别注意的是, 独立开关 B 在第一次执行的时候, 被你打开了, 变成了 ON 状态. 也就是说, 在第二次 VX 执行到这里的时候, 这个条件分歧是不满足要求的. 条件是需要 独立开关 B 为关闭的情况, 但是现在 独立开关却是打开的. 条件分歧在不满足条件的情况下, 会直接跳向和它相对应的那个 分歧结束, 也就是这里说的 语句4;
"语句 2: 计时器操作: 开始( 0 分 20 秒 )"
"语句 3: 独立开关B = ON"
由于之前的条件分歧是不满足所给定条件的, 所以这两个语句都不会被执行, 直接跳过. 这样就保证了, 计时器只会初始化一次.
" 语句4: 分歧结束."
最后跳跃到这里, 直接漏过 语句2 和 语句3.
之所以要这么写, 是为了保证 计时器 在需要的时候只会被打开一次.
因为计时器在每次打开的时候, 都会重新开始计时. 如果你每次都打开一次这个计时器, 导致的结果就是, 计时器的时间会一直的固定在你设定的时间内, 也就是这里的 20秒. 计时器会一动不动的卡在20秒这里, 不过这明显是和想象中不一样的.
综上所述, 这么的理由是, 要确保计时器只会被打开一次, 并且能正确的计时. |
评分
-
查看全部评分
|