Project1

标题: 召唤各种脚本前辈,对话框添加控制符后在对话中显示出来 [打印本页]

作者: cinderelmini    时间: 2012-12-21 22:09
标题: 召唤各种脚本前辈,对话框添加控制符后在对话中显示出来
本帖最后由 cinderelmini 于 2012-12-23 17:36 编辑

就是在Window_Message里面的
  1.   #--------------------------------------------------------------------------
  2.   # ● 处理所有内容
  3.   #--------------------------------------------------------------------------
  4.   def process_all_text
  5.     open_and_wait
  6.     text = convert_escape_characters($game_message.all_text)
  7.     # 这里
  8.     pos = {}
  9.     new_page(text, pos)
  10.     process_character(text.slice!(0, 1), text, pos) until text.empty?
  11.   end
复制代码
“# 这里”的部分写上以下:
  1.     if $game_message.all_text != nil
  2.       @now_text = $game_message.all_text
  3.       if (/\\[Ll]\[(.+?)\]/.match(@now_text)) != nil
  4.         # 相应操作
  5.         @now_text.gsub!(/\\[Ll]\[(.*?)\]/) { "" }
  6.       end
  7.     end
复制代码
这样之后,在对话里写上 “\L[123]”之后,
相应的操作是可以了,
可是在对话文章相对应的位置里,竟然会出现“[123]”这样一串本应该消去了的字串,
求教这是怎么回事??
作者: 后知后觉    时间: 2012-12-22 00:35
$game_message.all_text 每次返回的都是一个新的字符串.
比如
a = $game_message.all_text
b = $game_message.all_text

你会得到内容完全一样的 a 和 b  但是 a 和 b 却是两个生物
你用 gsub! 改变了 a  但是 b 却并没有改变.描绘文字的时候使用的是 b

另外 你写的2个正则表达式 你自己再仔细的对比一下...有一个东西打错了?
作者: cinderelmini    时间: 2012-12-22 17:40
后知后觉 发表于 2012-12-22 00:35
$game_message.all_text 每次返回的都是一个新的字符串.
比如
a = $game_message.all_text

嗯嗯!!
发帖之后反复检查了这段内容,
之后发现了这一个问题,对@now_text进行修改,
然而现实文章的却是$game_message.all_text,郁闷啊~竟然在这个问题上纠结了……

另外……
正则式子里面,不一样的是不是“+”和“*”咧??
于是似乎这样写的话,具体结果也没有差别咧……
虽然后来确实改了……

于是虽然自行解决了~
还是谢谢了呢!





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1