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

Project1

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

[RMVA发布] 转义字符加强

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
156 小时
注册时间
2011-12-13
帖子
133
跳转到指定楼层
1
发表于 2012-8-2 11:59:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 dant 于 2012-8-2 11:59 编辑

就是这样。
在所有使用到draw_text_ex的地方都可以使用。
也可以改成只在某个Window类内部使用
RUBY 代码复制
  1. #==============================================================================
  2. # ** 转义字符加强
  3. #------------------------------------------------------------------------------
  4. #  加强用于显示文章和其它使用draw_text_ex的转义字符。
  5. #    - \V[n],\N[n],\P[n] 支持无限嵌套
  6. #    - 添加以下转义字符
  7. #        + \ITM[n] 替换为n号道具 (带图标)
  8. #        + \WPN[n] 替换为n号武器 (带图标)
  9. #        + \ARM[n] 替换为n号防具 (带图标)
  10. #        + \SKL[n] 替换为n号特技 (带图标)
  11. #==============================================================================
  12.  
  13. class Window_Base < Window
  14.   #--------------------------------------------------------------------------
  15.   # * Preconvert Control Characters
  16.   #    As a rule, replace only what will be changed into text strings before
  17.   #    starting actual drawing. The character "\" is replaced with the escape
  18.   #    character (\e).
  19.   #--------------------------------------------------------------------------
  20.   def convert_escape_characters(text)
  21.     result = text.to_s.clone
  22.     result.gsub!(/\\/)            { "\e" }
  23.     result.gsub!(/\e\e/)          { "\\" }
  24.  
  25.     while true
  26.       done_flag = nil
  27.       done_flag |= result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
  28.       #result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
  29.       done_flag |= result.gsub!(/\eN\[(\d+)\]/i) { actor_name($1.to_i) }
  30.       done_flag |= result.gsub!(/\eP\[(\d+)\]/i) { party_member_name($1.to_i) }
  31.       done_flag |= result.gsub!(/\eITM\[(\d+)\]/i) { item_ctrl_str($data_items[$1.to_i]) }
  32.       done_flag |= result.gsub!(/\eWPN\[(\d+)\]/i) { item_ctrl_str($data_weapons[$1.to_i]) }
  33.       done_flag |= result.gsub!(/\eARM\[(\d+)\]/i) { item_ctrl_str($data_armors[$1.to_i]) }
  34.       done_flag |= result.gsub!(/\eSKL\[(\d+)\]/i) { item_ctrl_str($data_skills[$1.to_i]) }
  35.       break unless done_flag
  36.     end
  37.     result.gsub!(/\eG/i)          { Vocab::currency_unit }
  38.     result
  39.   end
  40.  
  41.   def item_ctrl_str(item)
  42.     "\eI[#{item.icon_index}] #{item.name}"
  43.   end
  44.  
  45. end
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-4-29 15:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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