じ☆ve冰风 发表于 2024-4-20 00:02:08

【非原创】地图名显示美化 XP版

脚本非原创,创意非原创,只是在论坛里搜索这个美化貌似没有XP的,于是自己动手改了改。不多说






将地图名称设置成两部分,以“#”隔开,前面的部分显示在上面,后面的部分显示在下面。


顺便补充一下,好像和“字体描边”配合一下才好看一点# ————————————————————————————————————# 本脚本来自http://www.66rpg.com/,转载自http://www.phylomortis.com/,转载请保留此信息# ————————————————————————————————————#==============================================================================# ■ Window_MapName#------------------------------------------------------------------------------#  显示地图名字的窗口。#==============================================================================class Window_MapName < Window_Base#--------------------------------------------------------------------------# ● 类常量定义#--------------------------------------------------------------------------# 窗口位置设定NAME_X = 210                  # 矩形左上顶点X坐标NAME_Y = 180             # 矩形左上顶点Y坐标NAME_W = 220          # 矩形宽NAME_H = 80         # 矩形高    # 显示时间设置SHOW_TIME_0 = 10# 地图名出现前等待的帧数SHOW_TIME_1 = 10# 地图名从不可见变成可见的帧数SHOW_TIME_2 = 34# 地图名完全可见的帧数SHOW_TIME_3 = 16# 地图名从可见变成不可见的帧数    # 完全可见时的透明度设置OPACITY_1 = 0   # 边框OPACITY_2 = 0   # 背景OPACITY_3 = 255   # 文字    # 地图名字的颜色TEXT_COLOR = Color.new(255, 255, 255, 255)   #--------------------------------------------------------------------------# ● 初始化状态#--------------------------------------------------------------------------def initialize    super(NAME_X , NAME_Y, NAME_W, NAME_H)    # 初始化窗口透明度    self.opacity = 0    self.back_opacity = 0    self.contents_opacity = 0    self.contents = Bitmap.new(width - 32, height - 32)    # 剩余帧数初始化    @show_time = 0end#--------------------------------------------------------------------------# ● 输出文字#--------------------------------------------------------------------------def setname    # 获取地图ID    newid = $game_map.map_id    time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3    # 如果现在的地图的ID不是刚才显示的地图ID则开始显示    if newid != @id      @id = newid      @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3    # 剩余帧数为0是时,全部窗口透明    elsif @show_time < 1      self.opacity = 0      self.back_opacity = 0      self.contents_opacity = 0      return    end      self.contents.clear    self.contents.font.color = TEXT_COLOR    # 描绘地图名      self.contents.font.size = 22    self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name.split(/#/), 1)    self.contents.font.size = 15    self.contents.draw_text(4, 0 , width - 40, 62, "------------------------", 1)    self.contents.draw_text(4, 0 , width - 40, 81, $data_mapinfos[@id].name.split(/#/), 1)      # 根本帧数设定窗口透明度    if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)      self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0      self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0      self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0    else      self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1      self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2      self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3    end      @show_time -= 1endend#==============================================================================# ■ Scene_Map#------------------------------------------------------------------------------#  处理地图画面的类。(追加定义)#==============================================================================class Scene_Mapalias smn_main maindef main    @mapname = Window_MapName.new    smn_main    @mapname.disposeend    alias smn_update updatedef update    @mapname.setname    smn_updateendend#==============================================================================# ■ Scene_Title#------------------------------------------------------------------------------#  处理标题画面的类。(追加定义)#==============================================================================class Scene_Titlealias smn_main maindef main    # 读取地图信息文件    $data_mapinfos = load_data("Data/MapInfos.rxdata")    smn_mainendend复制代码
             本帖来自P1论坛作者mmmkly,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=256357若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 【非原创】地图名显示美化 XP版