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

Project1

 找回密码
 注册会员
搜索

Window_Message到选择项的下一行字几个问题

查看数: 2640 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-4-5 16:13

正文摘要:

问题1.这里面的x是指的每行离左侧的距离吗? 这里面的y是指的每行与每行的的间距吗? 问题2. @cursor_width = [@cursor_width, x].max 这是什么意思,是比较@cursor_width, x哪个大取大的那个数值,赋值给左侧的@cur ...

回复

灯笼菜刀王 发表于 2019-4-5 17:32:38
本帖最后由 灯笼菜刀王 于 2019-4-5 17:35 编辑


1, 你可以拉到下面看那句 self.contents.draw_text(4+x.32*y,40,32,c))
    这个窗口的文字是逐字描绘的, 而字间距和行距, 就是通过这个x和y来调整

2, F1的 array类里 可以发现有这么一句"包含的模块Enumerable", 这个max和min就是Enumerable 的方法, 这两个方法在需要上下限取值的地方很好用, 要记住了,以后要考

3, 你搜索 $game_temp.choice_start 这个临时全局变量, 可以发现它有在 Interpreter 3 被赋予了选择项第一行所在的行数,  这里通过它和Y(当前的行数)对比, 当Y比它大的时候(也就是此时有选择项, 没选择项的话, 它就是99,Y(最多3)不可能比它大), 调整光标宽度为最长的那行的宽度) (注意到它的老爸是Window_Selectable么?,它当然自带光标了)

4, 如果你事件用得熟了, 就会清楚选择项和显示文章之间的那点不清不白的关系

这句的作用就是另起一行的时候, 如果这行是选择项, 就往右边缩一点

5, 这段代码的意思是, 把你输入的"显示文章"分尸, 拆成一个一个字重组, 有匹配相关代码的话就替换成对应的文字或者效果,  最后描绘到窗口上。有记得我之前说过么"就算你会用脚本了, 某些情况下用事件会比用脚本更方便" 显示文章就是属于这种情况

最后, 记得我又有你说过么: SCENE MAP 它只调用一个窗口, 然而这个窗口是老大级别的, 复杂度是别的窗口不能比的

说的就是这家伙了, 它可不是新手怪哦, 在旧手里也是属于BOSS级别的, 使用到不少高级技巧, 所以除非你想搞对话框, 否则建议还是先跳过它, 因为改造常规窗口基本是不需要用到它的方法的

点评

哦,我是搞到大的了,我先尝试着消化消化。怎么也要坚持把教程啃一遍,实在理解不了,只能先放弃了。  发表于 2019-4-5 22:57

评分

参与人数 1星屑 +50 +1 收起 理由
guoxiaomi + 50 + 1 正解

查看全部评分

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

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

GMT+8, 2024-11-27 10:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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