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

Project1

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

[有事请教] 关于对话自动换行

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2777
在线时间
510 小时
注册时间
2012-6-17
帖子
486
跳转到指定楼层
1
发表于 2021-7-11 13:02:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
满22个字自动换行,我直接在Window_message里这样改,判断字数,然后注释掉原来的根据换行符换行
  1. def update_message
  2.     loop do
  3.       c = @text.slice!(/./m)            # 获取下一条文字
  4.       if @cur_textnum%24 == 0#自动换行
  5.         new_line
  6.         if @line_count >= MAX_LINE      # 行数为最大时
  7.           unless @text.empty?           # 如果还有增加则继续
  8.             self.pause = true           # 等待输入
  9.             break
  10.           end
  11.         end
  12.       end
  13.       case c
  14.       when nil                          # 没有可以显示的文字
  15.         finish_message                  # 更新结束
  16.         break
  17. #~       when "\x00"                       # 换行
  18. #~         new_line
  19. #~         if @line_count >= MAX_LINE      # 行数为最大时
  20. #~           unless @text.empty?           # 如果还有增加则继续
  21. #~             self.pause = true           # 等待输入
  22. #~             break
  23. #~           end
  24. #~         end
  25.       when "\x01"                       # \C[n]  (更改文字色)
  26.         @text.sub!(/\[([0-9]+)\]/, "")
  27.         contents.font.color = text_color($1.to_i)
  28.         next
  29.       when "\x02"                       # \G  (显示所持金)
  30.         @gold_window.refresh
  31.         @gold_window.open
  32.       when "\x03"                       # \.  (等待 1/4 秒)
  33.         @wait_count = 15
  34.         break
  35.       when "\x04"                       # \|  (等待 1 秒)
  36.         @wait_count = 60
  37.         break
  38.       when "\x05"                       # \!  (等待输入)
  39.         self.pause = true
  40.         break
  41.       when "\x06"                       # \>  (瞬间显示 ON)
  42.         @line_show_fast = true
  43.       when "\x07"                       # \<  (瞬间显示 OFF)
  44.         @line_show_fast = false
  45.       when "\x08"                       # \^  (不等待输入)
  46.         @pause_skip = true
  47.       else                              # 普通文字
  48.         contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
  49.         c_width = contents.text_size(c).width
  50.         @contents_x += c_width
  51.         @cur_textnum+=1
  52.       end
  53.       break unless @show_fast or @line_show_fast
  54.     end
  55.   end
复制代码


但有个问题,就是对话接选项时,选项的文本不换行了。我理解是系统处理文本时把对话文本和选项文本合并成一个文本,中间插入换行符。所以我这个注释换行符的办法就出错了,那我要根据什么来区分对话和选项呢

问渠那得清如许为有源头活水来点击这里了解《都市天师》
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-24 20:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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