效果图脚本使用到的素材
(命名为mapname,图片右键另存为即可,因为背景是白色所以这里看不到素材……)
脚本说明
这个脚本的作用就是显示地图名,并且自带地图名显示的背景图,十分简易~~同时缺陷也就是他无法设定很多东西(都废了),而且无法用开关控制……
也就是说他会一直显示……
脚本
#=========================================================================
# 【YGE】 SP01 — 地图名显示
#-------------------------------------------------------------------------
# By.小y君
#=========================================================================
# ● 使用说明
# 将脚本插入Main之上。
#-------------------------------------------------------------------------
#=========================================================================
# ■ Window_Mapname
#------------------------------------------------------------------------------
# 显示地图名的窗口。
#=========================================================================
class Window_Mapname < Window_Base
#---------------------------------------------------------------------
# ● 初始化对象
# x : 窗口的 X 坐标
# y : 窗口的 Y 坐标
#---------------------------------------------------------------------
def initialize(x, y)
super(x, y, 230, WLH + 52)
refresh
end
#---------------------------------------------------------------------
# ● 刷新
#---------------------------------------------------------------------
def refresh
self.contents.clear
map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name
self.contents.draw_text(0, -20, 230, WLH + 52, map_name)
end
end
#=========================================================================
# ■ Scene_Map
#-------------------------------------------------------------------------
# 处理地图画面的类。
#=========================================================================
class Scene_Map < Scene_Base
#---------------------------------------------------------------------
# ● 开始处理
#---------------------------------------------------------------------
def start
super
$game_map.refresh
@name_window = Window_Mapname.new(0,0)
@name_window.opacity = 0
@spriteset = Spriteset_Map.new
@message_window = Window_Message.new
@mapname = Sprite.new
@mapname.bitmap = Cache.system("mapname")
end
#---------------------------------------------------------------------
# ● 结束处理
#---------------------------------------------------------------------
def terminate
super
if $scene.is_a?(Scene_Battle) # 正在切换战斗画面的情况下
@spriteset.dispose_characters # 为了生成背景隐藏角色
end
snapshot_for_background
@spriteset.dispose
@name_window.dispose
@message_window.dispose
@mapname.dispose
if $scene.is_a?(Scene_Battle) # 正在切换战斗画面的情况下
perform_battle_transition # 执行战斗前变换
end
end
#---------------------------------------------------------------------
# ● 画面更新
#---------------------------------------------------------------------
def update
super
$game_map.interpreter.update # 更新解释器
$game_map.update # 更新滴入
$game_player.update # 更新玩家
$game_system.update # 更新计时器
@spriteset.update # 更新活动块元件
@message_window.update # 更新消息窗口
@name_window.update # 更新地图名显示窗口
@mapname.update
unless $game_message.visible # 正在显示消息以外的情况
update_transfer_player
update_encounter
update_call_menu
update_call_debug
update_scene_change
end
end
end