赞 | 0 |
VIP | 1 |
好人卡 | 0 |
积分 | 1 |
经验 | 900 |
最后登录 | 2013-8-7 |
在线时间 | 15 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 15 小时
- 注册时间
- 2011-3-3
- 帖子
- 19
|
本帖最后由 就是我 于 2013-1-23 18:53 编辑
这个要牵扯到窗口内容的描绘,
呐,你可以到这里去看看:
http://rpg.blue/thread-110411-1-1.html
(这是基础哦)
但是呢,RM原本是不支持自动换行的,
所以要请在main之前插入这段脚本:- class Window_Base < Window
- #--------------------------------------------------------------------------
- # * 描绘自动换行文字
- # 出自叶子的任务系统,有所修改.
- #--------------------------------------------------------------------------
- def chenge_special_character(text, x=0, y=0)
- # 记录换行时y坐标最小加值
- min_y = 0
- # 限制文字处理
- begin
- last_text = text.clone
- # text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
- end until text == last_text
- text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
- $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
- end
- # c 获取 1 个字 (如果不能取得文字就循环)
- while ((c = text.slice!(/./m)) != nil)
- # \\ 的情况下
- if c == "\000"
- # 还原为本来的文字
- c = "\\"
- end
- # 另起一行文字的情况下
- if c == "\n"
- y += [WLH, min_y].max
- min_y = 0
- x = 0
- # 下面的文字
- next
- end
- # 自动换行处理
- if x + self.contents.text_size(c).width > self.contents.width
- y += [WLH, min_y].max
- min_y = 0
- x = 0
- end
- # 描绘文字
- self.contents.draw_text(x, y, 40, WLH, c)
- # x 为要描绘文字的加法运算
- x += self.contents.text_size(c).width
- end
- end
- end
复制代码 然后在窗口中使用- chenge_special_character(描绘内容, 起始x坐标, 起始y坐标)
复制代码 就可以描绘了。
p.s:关于那个自动换行脚本,是出自叶子的任务系统滴,链接在这
http://rpg.blue/forum.php?mod=viewthread&tid=76639 |
评分
-
查看全部评分
|