赞 | 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:} |
|