- 累计送礼:
- 0 个
- 累计收礼:
- 0 个
TA的每日心情 | 开心 2026-1-10 10:26 |
|---|
签到天数: 171 天 连续签到: 1 天 [LV.7]常住居民III

管理员
  
- VIP
- 6
- 卡币
- 15994
- OK点
- 16
- 推广点
- 0
- 同能卷
- 0
- 积分
- 19236


|
类似于地图名显示,但加了一些功能,字体修改之类的,还加了各种地图风格的外观修改(?)
以下是代码RUBY 代码 - #传送到目的地时目的地名显示并维持一段时间再消失
- #另外内容:地图特有的风格显示(?)
- #示例:地图名显示:测试地图(主要的地图名显示),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
- returnnilunless !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
- defopen
- 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_Nameif !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
复制代码
然后用鼠标抽象的画了个图()
本帖来自P1论坛作者chen12311,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=498520 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |
|