赞 | 1 |
VIP | 255 |
好人卡 | 52 |
积分 | 1 |
经验 | 77416 |
最后登录 | 2016-1-18 |
在线时间 | 1269 小时 |
Lv1.梦旅人 薄凉看客
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1269 小时
- 注册时间
- 2010-6-20
- 帖子
- 1316
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 恐惧剑刃 于 2015-7-13 22:28 编辑
非常实用,而且脚本易修改。
另外脚本中不再置字体名、粗体以及斜体等的改变
(因为那玩意性价比太低了 - - !)- #===========================================================================
- # * draw_text必备扩展
- #===========================================================================
- =begin
- !c[n] 改用n号颜色 *注 颜色在color处自定
- !s[n] 改用n号大小
- !k[n] 空n像素
- v[n] n号变量
- i[n] 描绘id为n的物品的图标
- s[n] 描绘id为n的特技的图标
- w[n] 描绘id为n的武器的图标
- a[n] 描绘id为n的防具的图标
- \\n 手动换行(附带自动换行)
- =end
- class Window_Base < Window
- def dl_draw_text(x, y, text)
- #初始化数据
- color_copy = self.contents.font.color.clone
- text_copy = text
- text_x,text_y = x,y
- #正则
- text_copy.gsub!(/!c\[([0-9]+)\]/) { "\001[#{$1}]" }
- text_copy.gsub!(/!s\[([0-9]+)\]/) { "\002[#{$1}]" }
- text_copy.gsub!(/!k\[([0-9]+)\]/) { "\003[#{$1}]" }
- text_copy.gsub!(/i\[([0-9]+)\]/) { "\020[#{$1}]" }
- text_copy.gsub!(/s\[([0-9]+)\]/) { "\021[#{$1}]" }
- text_copy.gsub!(/w\[([0-9]+)\]/) { "\022[#{$1}]" }
- text_copy.gsub!(/a\[([0-9]+)\]/) { "\023[#{$1}]" }
- text_copy.gsub!(/v\[([0-9]+)\]/) { $game_variables[$1.to_i] }
- text_copy.gsub!(/\\n/) { "\030" }
- # 描绘每一个字
- while ((c = text_copy.slice!(/./m)) != nil)
- #颜色
- if c == "\001"
- text_copy.sub!(/\[([0-9]+)\]/, "")
- self.contents.font.color = text_color($1.to_i)
- next
- end
- #大小
- if c == "\002"
- text_copy.sub!(/\[([0-9]+)\]/, "")
- self.contents.font.size = $1.to_i
- next
- end
- #空像素
- if c == "\003"
- text_copy.sub!(/\[([0-9]+)\]/, "")
- text_x += $1.to_i
- if text_x > self.width - 40
- text_x = 40 + text_x - self.width
- text_y += self.contents.font.size
- end
- next
- end
- #物品
- if c == "\020"
- text_copy.sub!(/\[([0-9]+)\]/, "")
- if !$data_items[$1.to_i].nil? and $data_items[$1.to_i].icon_name != ""
- next if text_x + 24 > self.width - 32
- bitmap = RPG::Cache.icon($data_items[$1.to_i].icon_name)
- self.contents.blt(text_x, text_y, bitmap, Rect.new(0, 0, 24, 24))
- text_x += 24
- end
- next
- end
- #特技
- if c == "\021"
- text_copy.sub!(/\[([0-9]+)\]/, "")
- if !$data_skills[$1.to_i].nil? and $data_skills[$1.to_i].icon_name != ""
- next if text_x + 24 > self.width - 32
- bitmap = RPG::Cache.icon($data_skills[$1.to_i].icon_name)
- self.contents.blt(text_x, text_y, bitmap, Rect.new(0, 0, 24, 24))
- text_x += 24
- end
- next
- end
- #武器
- if c == "\022"
- text_copy.sub!(/\[([0-9]+)\]/, "")
- if !$data_weapons[$1.to_i].nil? and $data_weapons[$1.to_i].icon_name != ""
- next if text_x + 24 > self.width - 32
- bitmap = RPG::Cache.icon($data_weapons[$1.to_i].icon_name)
- self.contents.blt(text_x, text_y, bitmap, Rect.new(0, 0, 24, 24))
- text_x += 24
- end
- next
- end
- #防具
- if c == "\023"
- text_copy.sub!(/\[([0-9]+)\]/, "")
- if !$data_armors[$1.to_i].nil? and $data_armors[$1.to_i].icon_name != ""
- next if text_x + 24 > self.width - 32
- bitmap = RPG::Cache.icon($data_armors[$1.to_i].icon_name)
- self.contents.blt(text_x, text_y, bitmap, Rect.new(0, 0, 24, 24))
- text_x += 24
- end
- next
- end
- #换行
- if c == "\030"
- text_y += self.contents.font.size
- next
- end
- cx = self.contents.text_size(c).width
- self.contents.draw_text(text_x, text_y, cx, self.contents.font.size, c)
- text_x += cx
- #自动换行
- if text_x > self.width - 40
- text_x = 0
- text_y += self.contents.font.size
- end
- end
- self.contents.font.color = color_copy
- end
- end
复制代码 |
评分
-
查看全部评分
|