赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 38864 |
最后登录 | 2013-9-8 |
在线时间 | 238 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 238 小时
- 注册时间
- 2006-10-2
- 帖子
- 417
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
你是否为了改变对话的字体,颜色和字号大小,而不断地输入一大堆\c[n]\s[n]之类的东东……这个脚本就是用来方便切换的……
{/hx}{/hx}{/hx}虽然是很简单的内容,但是好象还是有很多人在问……所以做了个简便的脚本……
作用:在对话中方便的使用\f[n]切换第二种,第三种,第四种字号大小、颜色都不一样的字体。而不需要重复的输入一堆诸如\c[n]\s[n]的命令字符来切换(有时候弄得连输入对话框都挤得换行了)……
适用:默认脚本0冲突
冲突可能:不知道有没有人做过这个(没有挖坟的习惯……),由于脚本里定义了Window_Message的refresh,使用了其他整合的对话脚本应该会冲突……如果需要用到这个功能的朋友,可以对照里面的增添修改内容把你的脚本修改一下,应该可以达到效果……{/hx}(用ctrl+F搜“增添修改”来查看)
由于我对脚本也不是了解很深,有出错的地方,希望大家指出,谢谢了{/hx}{/hx}
范例工程下载:
http://rpg.blue/UP_PIC/200705/� ... 使用多字体.rar
●注意,在未对本脚本做修改的情况下,请不要使用n=1~4之外的数字
比如\f[0]或者\f[9]等,否则必然出现脚本错误!!
- #==================================================================
- # 66RPG 对话使用第二字体
- #==================================================================
- #------------------------------------------------------------
- #这个脚本的念头是在论坛上问类似问题时,受simounF的回答,而启发的
- #
- #由于目前我对脚本的了解也只是皮毛,有不正确的地方,请大家给我指点一下喔
- #对此脚本有疑问请在bbs.66RPG.com给我站内短信吧……>_< 猫哥哥
- #==============================================================
- #
- #★使用方法★:将本脚本插入到main脚本之前。
- # 先设置下面的预处理内容,然后用\f[n]来在对话里切换字体(默认的n=0~4)
- # 和整合的对话脚本可能有冲突,懂脚本的自己修改一下吧
- #
- # \f[1]回到默认
- # \f[2]使用第二字体
- # \f[3]使用第三字体
- # \f[4]使用第四字体
- # ●注意,在未对本脚本做修改的情况下,请不要使用n=1~4之外的数字
- # 比如\f[0]或者\f[9]等,否则必然出现脚本错误!!
- #
- #=================预先处理=======================
- #
- ###########①默认字体(如果修改了main或者Window_Base里的默认字体,把这里设置一下)-------
- #
- $cat_默认文字字体 ="黑体" #默认的黑体
- $cat_默认字体大小 =22 #默认的22号
- $cat_默认字体颜色 = Color.new(255,255,255,255) #默认用的白色
- #不懂怎么换颜色的菜鸟看这里: ↑上面这个括号里,四个数值分别是(红,绿,蓝,透明度),取值范围是(0~255),想要什么颜色自己更该数值试试看吧。
- #
- ###########②第二字体的设置#########################
- $cat_使用的第二字体 ="楷体_GB2312"
- $cat_使用的第二字体大小 =22
- $cat_使用的第二字体颜色 = Color.new(255,55,55,255) #红
- ##################################################
- #
- ###########③第三字体的设置#########################
- $cat_使用的第三字体 ="宋体"
- $cat_使用的第三字体大小 =22
- $cat_使用的第三字体颜色 = Color.new(225,225,80,255) #黄
- ##################################################
- #
- ###########④第四字体的设置#########################
- $cat_使用的第四字体 ="华文行楷"
- $cat_使用的第四字体大小 =42
- $cat_使用的第四字体颜色 = Color.new(0,0,123,255) #蓝
- ######################################################
- #
- #----------定义部分-------------
- #——字体---
- class Window_Base
- def font_style(n)
- case n
- when 1
- return $cat_默认文字字体
- when 2
- return $cat_使用的第二字体
- when 3
- return $cat_使用的第三字体
- when 4
- return $cat_使用的第四字体
- end
- end
- #---大小---
- def font_size(n)
- case n
- when 1
- return $cat_默认字体大小
- when 2
- return $cat_使用的第二字体大小
- when 3
- return $cat_使用的第三字体大小
- when 4
- return $cat_使用的第四字体大小
- end
- end
- #----颜色------
- def text_color2nd(n)
- case n
- when 1
- return $cat_默认字体颜色
- when 2
- return $cat_使用的第二字体颜色
- when 3
- return $cat_使用的第三字体颜色
- when 4
- return $cat_使用的第四字体颜色
- end
- end
- end
- #----------重新定义刷新--------------------
- class Window_Message
-
- def refresh
- self.contents.clear
- #======增添修改的部分=============================
- self.contents.font.color = $cat_默认字体颜色 #
- self.contents.font.name = $cat_默认文字字体 #
- self.contents.font.size = $cat_默认字体大小 #
- #=================================================
-
- x = y = 0
- @cursor_width = 0
- # 到选择项的下一行字
- if $game_temp.choice_start == 0
- x = 8
- end
- # 有等待显示的文字的情况下
- if $game_temp.message_text != nil
- text = $game_temp.message_text
- # 限制文字处理
- begin
- last_text = text.clone
- text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
- end until text == last_text
- text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
- $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
- end
- # 为了方便、将 "\\\\" 变换为 "\000"
- text.gsub!(/\\\\/) { "\000" }
- # "\\C" 变为 "\001" に、"\\G" 变为 "\002"
- text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
- text.gsub!(/\\[Gg]/) { "\002" }
-
- #=====增添修改修改的部分================================
- text.gsub!(/\\[Ff]\[([0-9]+)\]/) { "\003[#{$1}]" }#
- #=======================================================
-
- # c 获取 1 个字 (如果不能取得文字就循环)
- while ((c = text.slice!(/./m)) != nil)
- # \\ 的情况下
- if c == "\000"
- # 还原为本来的文字
- c = "\\"
- end
- # \C[n] 的情况下
- if c == "\001"
- # 更改文字色
- text.sub!(/\[([0-9]+)\]/, "")
- color = $1.to_i
- if color >= 0 and color <= 7
- self.contents.font.color = text_color(color)
- end
- # 下面的文字
- next
- end
-
- #=========增添修改的部分============================================================
- # \F[n] 的情况下
- if c == "\003"
- # 更改文字字体
- text.sub!(/\[([0-9]+)\]/, "")
- style = $1.to_i
- color2nd = $1.to_i
- size = $1.to_i
- if style >= 1 and style <= 4 # 4是字体最大的编号,增加字体要加大这个数字
- color2nd >= 1 and color2nd <= 4 # 如果修改了上面的最大值,这里也要改
- size >= 1 and size <= 4 # 如果修改了上面的最大值,这里也要改
- self.contents.font.name = font_style(style)
- self.contents.font.color = text_color2nd(color2nd)
- self.contents.font.size = font_size(size)
- end
- # 下面的文字
- next
- end
- #=====================================================================
-
- # \G 的情况下
- if c == "\002"
- # 生成金钱窗口
- if @gold_window == nil
- @gold_window = Window_Gold.new
- @gold_window.x = 560 - @gold_window.width
- if $game_temp.in_battle
- @gold_window.y = 192
- else
- @gold_window.y = self.y >= 128 ? 32 : 384
- end
- @gold_window.opacity = self.opacity
- @gold_window.back_opacity = self.back_opacity
- end
- # 下面的文字
- next
- end
- # 另起一行文字的情况下
- if c == "\n"
- # 刷新选择项及光标的高
- if y >= $game_temp.choice_start
- @cursor_width = [@cursor_width, x].max
- end
- # y 加 1
- y += 1
- x = 0
- # 移动到选择项的下一行
- if y >= $game_temp.choice_start
- x = 8
- end
- # 下面的文字
- next
- end
- # 描绘文字
- self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
- # x 为要描绘文字的加法运算
- x += self.contents.text_size(c).width
- end
- end
- # 选择项的情况
- if $game_temp.choice_max > 0
- @item_max = $game_temp.choice_max
- self.active = true
- self.index = 0
- end
- # 输入数值的情况
- if $game_temp.num_input_variable_id > 0
- digits_max = $game_temp.num_input_digits_max
- number = $game_variables[$game_temp.num_input_variable_id]
- @input_number_window = Window_InputNumber.new(digits_max)
- @input_number_window.number = number
- @input_number_window.x = self.x + 8
- @input_number_window.y = self.y + $game_temp.num_input_start * 32
- end
- end
- end
复制代码
|
|