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

Project1

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

[已经解决] 为什么无法换行

[复制链接]

Lv1.梦旅人

梦石
0
星屑
209
在线时间
104 小时
注册时间
2014-2-23
帖子
60
跳转到指定楼层
1
发表于 2014-2-27 17:14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我在文本里加了 “\n” 但是没有显示换行
难道不是  “\n”  ?

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 2014-2-27 17:29:45 | 只看该作者
本帖最后由 Sion 于 2014-2-27 17:33 编辑

因为n被当做控制符 \n[x] 被置换为 x号角色的名字
  1. class Window_Base
  2.   def convert_escape_characters(text)
  3.     result = text.to_s.clone
  4.     result.gsub!(/\\/)            { "\e" }
  5.     result.gsub!(/\e\e/)          { "\\" }
  6.     result.gsub!(/\en/)           { "\n" } # 加这个
  7.     result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
  8.     result.gsub!(/\eN\[(\d+)\]/i) { actor_name($1.to_i) }
  9.     result.gsub!(/\eP\[(\d+)\]/i) { party_member_name($1.to_i) }
  10.     result.gsub!(/\eG/i)          { Vocab::currency_unit }
  11.     result
  12.   end
  13. end
复制代码
这样改的话 \n  还是 \n; \N[x] 是置换名字。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
104 小时
注册时间
2014-2-23
帖子
60
3
 楼主| 发表于 2014-2-27 18:39:15 | 只看该作者
Sion 发表于 2014-2-27 17:29
因为n被当做控制符 \n[x] 被置换为 x号角色的名字这样改的话 \n  还是 \n; \N[x] 是置换名字。 ...

RUBY 代码复制
  1. class Window_Base
  2.  
  3.   alias :iisnow_convert_escape_characters :convert_escape_characters
  4.   def convert_escape_characters(text)
  5.     result = iisnow_convert_escape_characters(text)
  6.     result.gsub!(/\ek/)          { "\k" }
  7.     result
  8.   end
  9.  
  10.   def process_character(c, text, pos)
  11.     case c
  12.     when "\r"  
  13.       return
  14.     when "\n"  
  15.       process_new_line(text, pos) if !@auto_n
  16.     when "\k"
  17.       @auto_n = false
  18.     when "\f"   
  19.       process_new_page(text, pos)
  20.     when "\e"   
  21.       process_escape_character(obtain_escape_code(text), text, pos)
  22.     else      
  23.       process_normal_character(c,text,pos)
  24.     end
  25.   end
  26.  
  27.   def process_normal_character(c,text,pos)
  28.     @auto_n = true
  29.     text_width = text_size(c).width
  30.     if real_width - pos[:x] > text_width
  31.       draw_text(pos[:x], pos[:y], text_width * 2, pos[:height], c)
  32.       pos[:x] += text_width
  33.     else
  34.       process_new_line(text,pos)
  35.       process_normal_character(c,text,pos)
  36.     end
  37.   end
  38.  
  39.   def real_width
  40.     return self.width - 2 * standard_padding
  41.   end
  42.  
  43. end
  44.  
  45. class Window_Message
  46.  
  47.   def process_normal_character(c,text,pos)
  48.     super
  49.     wait_for_one_character
  50.   end
  51.  
  52. end


与这个脚本冲突了,大神帮忙看看{:2_249:}

点评

你把这个放在我那个下面就行了。  发表于 2014-2-27 20:25
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
104 小时
注册时间
2014-2-23
帖子
60
4
 楼主| 发表于 2014-2-27 21:24:27 | 只看该作者
Sion 发表于 2014-2-27 17:29
因为n被当做控制符 \n[x] 被置换为 x号角色的名字这样改的话 \n  还是 \n; \N[x] 是置换名字。 ...

我就是这么放的{:2_271:}
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

5
发表于 2014-2-27 22:15:10 | 只看该作者
本帖最后由 Sion 于 2014-2-27 22:19 编辑
huct08 发表于 2014-2-27 21:24
我就是这么放的


我靠,你这个是自动换行的嘛,你都自动换行了,还要手动换行干毛 - -b

这个脚本读到 \k 会关闭自动换行,你不会不知道巴?

嗯.....它这个写得不对{:2_254:} 我都无语了。
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

6
发表于 2014-2-27 22:22:27 | 只看该作者
你用这个吧,直接输入 \k 换行

RUBY 代码复制
  1. class Window_Base
  2.  
  3.   def process_character(c, text, pos)
  4.     case c
  5.     when "\r"  
  6.       return
  7.     when "\n"  
  8.       process_new_line(text, pos) if !@auto_n
  9.     when "\f"   
  10.       process_new_page(text, pos)
  11.     when "\e"   
  12.       process_escape_character(obtain_escape_code(text), text, pos)
  13.     else      
  14.       process_normal_character(c,text,pos)
  15.     end
  16.   end
  17.  
  18.   def process_escape_character(code, text, pos)
  19.     case code.upcase
  20.     when 'C'
  21.       change_color(text_color(obtain_escape_param(text)))
  22.     when 'I'
  23.       process_draw_icon(obtain_escape_param(text), pos)
  24.     when '{'
  25.       make_font_bigger
  26.     when '}'
  27.       make_font_smaller
  28.     when 'K'
  29.       process_new_line(text, pos)
  30.     end
  31.   end
  32.  
  33.   def process_normal_character(c,text,pos)
  34.     @auto_n = true
  35.     text_width = text_size(c).width
  36.     if real_width - pos[:x] > text_width
  37.       draw_text(pos[:x], pos[:y], text_width * 2, pos[:height], c)
  38.       pos[:x] += text_width
  39.     else
  40.       process_new_line(text,pos)
  41.       process_normal_character(c,text,pos)
  42.     end
  43.   end
  44.  
  45.   def real_width
  46.     return self.width - 2 * standard_padding
  47.   end
  48.  
  49. end
  50.  
  51. class Window_Message
  52.  
  53.   def process_normal_character(c,text,pos)
  54.     super
  55.     wait_for_one_character
  56.   end
  57.  
  58. end
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9414 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

7
发表于 2014-2-27 22:28:09 | 只看该作者
少年不试着换一个自动换行脚本...?
http://rpg.blue/home.php?mod=spa ... o=blog&id=11571
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
104 小时
注册时间
2014-2-23
帖子
60
8
 楼主| 发表于 2014-2-28 09:42:12 | 只看该作者
Sion 发表于 2014-2-27 22:22
你用这个吧,直接输入 \k 换行

class Window_Base

问题解决 谢谢{:2_249:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-16 07:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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