赞 | 406 |
VIP | 0 |
好人卡 | 11 |
积分 | 390 |
经验 | 242285 |
最后登录 | 2024-11-29 |
在线时间 | 5725 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 39034
- 在线时间
- 5725 小时
- 注册时间
- 2006-11-10
- 帖子
- 6622
|
本帖最后由 灯笼菜刀王 于 2018-7-3 11:03 编辑
@index 你可以把它看做"现在执行的命令" 自然 @index+1 就是下一行执行的命令
然后你说的问题, 别忽略它是一个分歧判断句。而且它是套在一个loop do 里头的,
意思就是
下一行是不是文字?
是的话塞到框里去
(@index +1)#命令推进一行
以上循环
如果不是文字的话,
下一行是不是选择项?
是的话, 并且可以塞到一个框, 就塞进去
下一行是不是输入数值?
是的话,并且可以塞到一个框, 就塞进去
命令执行完毕,准备下个命令
这样,如果看到一个塞满4行的对话框的话, 其实它是满足多行命令的结果。
如果第二行不是文字,又没满足可以塞进选择项和输入文字的条件, 就中断这行命令的执行, 继续下个命令, 这个时候就只能看到显示出一个一行文字的对话框了
回到你说的, 当 @index == 2 #=> nil , 自然就达不到上面的分歧条件, 就等于这次命令执行了,
--------------------
显示第一行文字, @index +1 # => 1
显示第二行文字, @index +1 # => 2
没有第三行文字且下面也没有选择项和输入项, return true.
-------------------
这个时候@index 是 2, 这里没有命令了, 这个事件到此结束。(显示文章 两行文字就等于两行命令)
结果就是, 执行事件后,显示一个两行的对话框结束。 |
评分
-
查看全部评分
|