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

Project1

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

[已经解决] “显示文章”事件指令的@index

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4169
在线时间
258 小时
注册时间
2013-10-13
帖子
815
跳转到指定楼层
1
发表于 2018-7-3 09:39:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
2,我研究的是文章指令,设定一个事件,事件指令的第一个是一行文字,事件指令的第一个是两行文字,
#下一个事件指令为文章两行以上的情况
if @list[@index+1].code == 401,
@index刚开始不是0吗,对应@list = [#<1>,#<2>,#<nil>]中的#<1>,然后@index=1,不是#<2>吗?为什么
@list[@index+1]中的@index要+1,不是变成2然后#<nil>吗?
谁可以讲解下“显示文章”事件指令的简要过程,我都看瞢了,好多代码!

Lv5.捕梦者

梦石
0
星屑
39034
在线时间
5725 小时
注册时间
2006-11-10
帖子
6622
2
发表于 2018-7-3 10:57:26 | 只看该作者
本帖最后由 灯笼菜刀王 于 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, 这里没有命令了, 这个事件到此结束。(显示文章 两行文字就等于两行命令)  

结果就是, 执行事件后,显示一个两行的对话框结束。

点评

Interpreter干嘛要从最复杂的地方学起……  发表于 2018-7-21 01:01
可以讲解下显示文章相关的信息窗口的基本思路吗?  发表于 2018-7-3 17:51

评分

参与人数 1星屑 +25 收起 理由
guoxiaomi + 25 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-30 19:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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