| 赞 | 2 |
| VIP | |
| 好人卡 | |
| 积分 | 7 |
| 经验 | |
| 最后登录 | 2026-8-21 |
| 在线时间 | 124 小时 |
- 梦石
- 0
- 星屑
- 719
- 在线时间
- 124 小时
- 注册时间
- 2024-4-13
- 回帖
- 25
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 chen12311 于 2026-1-26 14:24 编辑
类似于地图名显示,但加了一些功能,字体修改之类的,还加了各种地图风格的外观修改(?)
以下是代码[pre lang="ruby"]#传送到目的地时目的地名显示并维持一段时间再消失
#另外内容:地图特有的风格显示(?)
#图片大小可以设置,但对应的图片也要设置成一样的大小
#图片名为:map_border+号数
#示例:地图名显示:测试地图(主要的地图名显示),2(需要的图片名的号数),测试中.....(下面的小标题)
module Show_Map_Set
Note=/地图名显示[::](\S+)/
Text_Font_Size=90
#地图名未设置不会显示
Text_Font_Name="kaiti"#地图名字体
Title_Font_Name=""#地图描述字体名
Title_Font_Size=20
Map_Border=90
Time_Set=125#保留的帧数
end
class Game_Map
def map_set_note
@map.note=~ Show_Map_Set::Note ? note=$1 : note= nil
return nil unless !note.nil?
note_l=note.split(/\s*,\s*/)
end
end
class Window_Base < Window
def draw_mapborder_set(name,index, x, y, enabled = true)
bitmap = Cache.system("map_border"+name)
size=Show_Map_Set::Map_Border
rect = Rect.new(index % 2 * size, index / 2 * size, size, size)
contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
end
end
class Window_Mapset_Show < Window_Base
def initialize
super(0,80, Graphics.width, Graphics.height/2)
self.opacity = 0
self.contents_opacity = 0
@show_count = 0
refresh
end
def close
@show_count = 0
self
end
def open
refresh
@show_count = Show_Map_Set::Time_Set
self.contents_opacity = 0
self
end
def update
super
if @show_count > 0 && $game_map.name_display
update_fadein
@show_count -= 1
else
update_fadeout
end
end
#--------------------------------------------------------------------------
# ● 更新淡入
#--------------------------------------------------------------------------
def update_fadein
self.contents_opacity += 16
end
#--------------------------------------------------------------------------
# ● 更新淡出
#--------------------------------------------------------------------------
def update_fadeout
self.contents_opacity -= 16
end
def map_text_font
contents.font.name=Show_Map_Set::Text_Font_Name
contents.font.size=Show_Map_Set::Text_Font_Size
end
def title_text_font
contents.font.name=Show_Map_Set::Title_Font_Name if !Show_Map_Set::Title_Font_Name.empty?
contents.font.size=Show_Map_Set::Title_Font_Size
end
def refresh
contents.clear
map_text_font
note=$game_map.map_set_note
unless note[0].empty?
if note.size>1
size=note[0].size
rect_1=text_size(note[0])
rect_2=contents.rect
draw_mapborder_set(note[1],0, rect_1.width-(note[0].size-1)*90, rect_1.height-30, enabled = true)
draw_mapborder_set(note[1],1, rect_1.width+90, rect_1.height-30, enabled = true)
if !note[2].nil? || !note[2].empty?
title_rect=Rect.new(rect_2.x,rect_2.y+50,rect_2.width,rect_2.height)
draw_text(rect_2, note[0], 1)
p rect_1
title_text_font
draw_text(title_rect, note[2], 1)
else
draw_text(rect, note[0], 1)
end
else
draw_text(rect, note[0], 1)
end
end
end
end
class Scene_Map < Scene_Base
alias create_all_windows_mapset create_all_windows
def create_all_windows
create_all_windows_mapset
create_mapset_show_window
end
def create_mapset_show_window
@mapset_show_window = Window_Mapset_Show.new
end
alias post_transfer_mapset post_transfer
def post_transfer
post_transfer_mapset
@mapset_show_window.open
end
alias pre_transfer_mapset pre_transfer
def pre_transfer
@mapset_show_window.close
pre_transfer_mapset
end
end[/pre]
然后用鼠标抽象的画了个图() |
-
评分
-
查看全部评分
|