Project1

标题: 请问KGC的帮助窗口功能扩张脚本怎么用? [打印本页]

作者: tlaloc    时间: 2010-11-26 19:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 嵐。    时间: 2010-11-26 19:53
本帖最后由 嵐。 于 2010-11-26 06:55 编辑

回复 tlaloc 的帖子

元脚本的话在物品介绍内输入\n 是可以换行的 请看下是否和其他脚本冲突了什么的。
试试原脚本吧。不过没什么区别。
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ 書式指定文字描画 - KGC_DrawFormatText ◆ VX ◆
  3. #_/    ◇ Last update : 2007/12/19 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  書式指定文字描画機能を追加します。
  6. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  7. $imported = {} if $imported == nil
  8. $imported["DrawFormatText"] = true

  9. class Bitmap
  10.   @@__dummy_window = Window_Base.new(-64, -64, 64, 64)
  11.   @@__dummy_window.visible = false
  12.   #--------------------------------------------------------------------------
  13.   # ● 書式指定文字描画
  14.   #--------------------------------------------------------------------------
  15.   def draw_format_text(x, y, width, height, text, align = 0)
  16.     str = convert_special_characters(text)
  17.     dx = 0
  18.     buf = Bitmap.new(Graphics.width * 2, Window_Base::WLH)
  19.     buf.font = self.font.clone
  20.     loop {
  21.       c = str.slice!(/./m)              # 次の文字を取得
  22.       case c
  23.       when nil                          # 描画すべき文字がない
  24.         break
  25.       when "\x01"                       # \C[n]  (文字色変更)
  26.         str.sub!(/\[([0-9]+)\]/, "")
  27.         buf.font.color = @@__dummy_window.text_color($1.to_i)
  28.         next
  29.       else                              # 普通の文字
  30.         buf.draw_text(dx, 0, 40, Window_Base::WLH, c)
  31.         c_width = buf.text_size(c).width
  32.         dx += c_width
  33.       end
  34.     }
  35.     self.font = buf.font.clone
  36.     # バッファをウィンドウ内に転送
  37.     dest = Rect.new(x, y, [width, dx].min, height)
  38.     src = Rect.new(0, 0, dx, Window_Base::WLH)
  39.     offset = width - dx
  40.     case align
  41.     when 1  # 中央揃え
  42.       dest.x += offset / 2
  43.     when 2  # 右揃え
  44.       dest.x += offset
  45.     end
  46.     stretch_blt(dest, buf, src)
  47.     buf.dispose
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 特殊文字の変換
  51.   #--------------------------------------------------------------------------
  52.   def convert_special_characters(str)
  53.     text = str.dup
  54.     text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
  55.     text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
  56.     text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
  57.     text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
  58.     text.gsub!(/\\G/)              { $game_party.gold }
  59.     text.gsub!(/\\\\/)             { "\\" }
  60.     return text
  61.   end
  62. end
复制代码

作者: 企鹅达达    时间: 2010-11-27 19:42
LZ请将上述两个脚本统统放入工程即可……




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