點選上方RGSS圖示返回。


 

切換地圖時自動顯示地名

[使用方法]
1.在腳本開頭可調文字尺寸與座標
2.將以下內容貼到Main之前

-----------------------------------------------------------------------------------

MAP_X = 0 # 文字顯示X座標設定
MAP_Y = 0 # 文字顯示Y座標設定
FONT_SIZE = 50 # 文字尺寸設定
class Scene_Map
#--------------------------------------------------------------------------
# ● 主處理
#--------------------------------------------------------------------------
def main
# 製作活動區塊
@spriteset = Spriteset_Map.new
# 製作訊息窗口
@message_window = Window_Message.new
# 製作地圖文字
@map_name = Sprite.new
@map_name.bitmap = Bitmap.new(640,480)
@map_name.bitmap.font.size = FONT_SIZE
@map_name.opacity = 0
@map_name.z = 99999
# 執行過渡
Graphics.transition
# 主循環
loop do
# 更新遊戲畫面
Graphics.update
# 更新輸入訊息
Input.update
# 更新地圖文字
map_name_update
# 更新畫面
update
# 如果畫面切換的話就中斷循環
if $scene != self
break
end
end
# 準備過渡
Graphics.freeze
# 釋放活動區塊所佔的記憶體空間
@spriteset.dispose
# 釋放訊息窗口所佔的記憶體空間
@message_window.dispose
@map_name.dispose
# 標題畫面切換中的情況下
if $scene.is_a?(Scene_Title)
# 淡入淡出畫面
Graphics.transition
Graphics.freeze
end
end
#--------------------------------------------------------------------------
# ● 更新地圖文字
#--------------------------------------------------------------------------
def map_name_update
@map_name.opacity -= 1 if @map_name.opacity > 0
end
#--------------------------------------------------------------------------
# ● 主角的場所移動
#--------------------------------------------------------------------------
def transfer_player
# 清除主角場所移動除錯標誌
$game_temp.player_transferring = false
# 移動目標與現在的地圖有差異的情況下
if $game_map.map_id != $game_temp.player_new_map_id
# 設定新地圖
$game_map.setup($game_temp.player_new_map_id)
# 讀取地圖ID
id = $game_map.map_id
# 讀取地圖名稱
map = load_data(sprintf("Data/MapInfos.rxdata"))
map_name = map[id].name
@map_name.bitmap.clear
@map_name.bitmap.draw_text(MAP_X,MAP_Y,640,FONT_SIZE,map_name,0)
end
# 設定主角位置
$game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
# 設定主角面向
case $game_temp.player_new_direction
when 2 # 下
$game_player.turn_down
when 4 # 左
$game_player.turn_left
when 6 # 右
$game_player.turn_right
when 8 # 上
$game_player.turn_up
end
# 矯正主角位置
$game_player.straighten
# 更新地圖 (執行平行事件)
$game_map.update
# 在製作活動區塊
@spriteset.dispose
@spriteset = Spriteset_Map.new
# 處理過渡中的情況下
if $game_temp.transition_processing
# 清除過渡處理中標誌
$game_temp.transition_processing = false
# 執行過渡
Graphics.transition(20)
end
# 執行地圖設定的 BGM、BGS 的自動切換
$game_map.autoplay
# 設置地圖文字透明度
@map_name.opacity = 255
# 設定畫面
Graphics.frame_reset
# 更新輸入訊息
Input.update
end
end

 

 

   

inserted by FC2 system