| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 170015 |  
| 最后登录 | 2020-5-5 |  
| 在线时间 | 2 小时 |  
 Lv1.梦旅人 
	梦石0 星屑55 在线时间2 小时注册时间2006-11-10帖子931 | 
3楼
 
 
 楼主|
发表于 2013-2-1 17:10:39
|
只看该作者 
| 芯☆淡茹水 发表于 2013-1-31 14:38 ![]() 本人愚见:
 首先要看LZ所做的窗口有多大,能显示多少个字。
 窗口显示文字“draw_txt”,如果显示不完 ...
嗯,我也觉得差不多是这个思路,不过问题就在文字超过一页的情况下按down方向键时对窗口内容的重新描绘上。主楼我的描述并不准确,我应该是希望窗口内容能像Selectable类型一样“随按键的方向滚动”,而“翻页”只是按pagedown等键时“一次滚动过一屏内容,看起来像是翻了页”
 
 Window_Base是一个很愚蠢的玩意,不知道自动换行,只能用些笨办法,比如
 for c in text.scan(/./)
 if x + self.contents.text_size(c).width >= self.width - 40
 x = 4; y += 28
 end
 self.contents.draw_text(x, y, 40, 32, c, align, 3, color)
 x += self.contents.text_size(c).width
 end
 这样来换行,也就是说它是写一个字累积一次宽度,超过窗框就换行的,不像Selectable每行有个index。
 但是如果人为地手动把32个字分成某个数组的一个单元,判定起来是容易了,但是如果录入长篇日志之类几百几千字的东西,大概负责录入的人就会很想死{:2_254:}
 设想中的这种窗口最好还能跟对话加强脚本一样,可以自动换行,用特定命令给文字上色,手动换行,然后还要能翻页。蛋疼{:2_253:}
 | 
 |