赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 4609 |
最后登录 | 2019-3-8 |
在线时间 | 197 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 54
- 在线时间
- 197 小时
- 注册时间
- 2012-12-15
- 帖子
- 689
|
边框是自己设置的,名字的话有脚本,不知是不是:- =begin
- ===============================================================================
- 对话显示姓名 By喵呜喵5
- ===============================================================================
- 【说明】
- 通过在对话中加入
- \name[姓名]
- 则可以在对话中显示姓名,通过修改设定部分的设定乃至修改脚本可以让这个姓名显示脚本看起
- 来更漂亮一些
- 实在不会修改的话,默认的样式应该也还过得去吧……
- =end
- module M5Name
- #==============================================================================
- # 设定部分
- #==============================================================================
- LINE = 4
- #文章显示的行数,姓名框会占用一行
-
- FONT = ["黑体"]
- #姓名所使用的字体
-
- SIZE = 20
- #姓名字体的大小,不建议超过你默认的文字大小,不然会发生奇怪的换页……
-
- COLOR = Color.new(0,0,0, 210)
- #姓名的颜色,四个数值分别是R、G、B以及透明度
-
- BOLD = false
- #姓名是否加粗
-
- ITALIC = false
- #姓名是否斜体
-
- SHADOW = false
- #姓名是否有阴影
-
- OUT = true
- #姓名是否加边框
-
- OUT_COLOR = Color.new(255, 255, 255, 100)
- #姓名边框的颜色,四个数值分别是R、G、B以及透明度
-
- ALIGN = 0
- #姓名的对齐方式,0,1,2分别是居左、居中、居右
- COLOR1 = Color.new(255, 255, 255, 128)
- #姓名的背景框左边的颜色,四个数值分别是R、G、B以及透明度
- #有能力建议直接修改下方的脚本调整成适合自己游戏的样式
-
- COLOR2 = Color.new(255, 255, 255, 0)
- #姓名的背景框右边的颜色,四个数值分别是R、G、B以及透明度
- #有能力建议直接修改下方的脚本调整成适合自己游戏的样式
-
- #==============================================================================
- # 设定结束
- #==============================================================================
- end
- #==============================================================================
- # 脚本部分
- #==============================================================================
- class Window_Message < Window_Base
- def visible_line_number
- return M5Name::LINE
- end
- def process_all_text
- open_and_wait
- text = convert_escape_characters($game_message.all_text)
- text.slice!(/\ename\[(.+?)\]/i)
- @showname = $1
- pos = {}
- new_page(text, pos)
- process_character(text.slice!(0, 1), text, pos) until text.empty?
- end
- def new_line_x
- $game_message.face_name.empty? ? 0 : 112
- end
- def new_page(text, pos)
- contents.clear
- draw_face($game_message.face_name, $game_message.face_index, 0,0)
- contents.font.name = M5Name::FONT
- contents.font.bold = M5Name::BOLD
- contents.font.italic = M5Name::ITALIC
- contents.font.outline = M5Name::OUT
- contents.font.shadow = M5Name::SHADOW
- contents.font.color = M5Name::COLOR
- contents.font.out_color = M5Name::OUT_COLOR
- contents.font.size = M5Name::SIZE
- if @showname != nil
- draw_namebackground(text_size(@showname))
- draw_text($game_message.face_name.empty? ? 0 : 112,0,contents_width,
- M5Name::SIZE, @showname,M5Name::ALIGN)
- pos[:y] = M5Name::SIZE
- else
- pos[:y] = 0
- end
- reset_font_settings
- pos[:x] = new_line_x
- pos[:new_x] = new_line_x
- pos[:height] = calc_line_height(text)
- @showname = ""
- clear_flags
- end
- def reset_font_settings
- change_color(normal_color)
- contents.font.bold = Font.default_bold
- contents.font.italic = Font.default_italic
- contents.font.name = Font.default_name
- contents.font.outline = Font.default_outline
- contents.font.shadow = Font.default_shadow
- contents.font.size = Font.default_size
- contents.font.out_color = Font.default_out_color
- end
- #==============================================================================
- # 以下内容用来描绘姓名框的背景,有能力的建议自行对其修改成适合自己游戏的样式
- #==============================================================================
-
- def draw_namebackground(rect)
- temp_rect = rect.clone
- temp_rect.x = $game_message.face_name.empty? ? 0 : 112
- temp_rect.width = 460
- contents.gradient_fill_rect(temp_rect, name_color1, name_color2)
- end
-
- def name_color1
- M5Name::COLOR1
- end
-
- def name_color2
- M5Name::COLOR2
- end
-
- end
- #==============================================================================
- # 脚本结束
- #==============================================================================
复制代码 |
|