#==============================================================================
# 「ヘルプウィンドウonマップ」(ACE) Ver.1.1
# 製作者:奈々(なな)
# へぷたなすくろーる http://heptanas.mamagoto.com/
#
# ◇利用規約
# この素材はフリーゲームにのみご利用頂けます。
# シェアウェア、販売作品への利用は原則として禁止します。(詳細はブログ参照)
# 利用される場合はスクリプト作成者として「奈々」とURLを明記し
# 配布時にブログで利用規約の確認と、利用報告を行って下さい。
#
#------------------------------------------------------------------------------
#
# イベントで制御できる「ヘルプウィンドウ」をマップ上に表示します。
# 特徴としてはメッセージウィンドウと違い、操作を奪わないため
# 移動やキー入力などを邪魔せずにメッセージを表示できます。
# 主にイベントによる自作メニューや移動中のガイドなどにご活用下さい。
#
# 使い方は、まず初期設定で行数等を指定します。
# 次に表示はイベントコマンドの「スクリプト」を使います。
#
# n7_map_help("text") textの文章を表示
# n7_map_help_add("text") testの文章を追加(改行)
#
# textの書き方はデータベースの説明文と同じですが
# 改行には\nと書き、\i[n]などは\\i[n]と書く必要があります。
# また()省略か空白""の指定で、文章を消去しウィンドウを閉じます。
#
# 基本的な使い方としては
# ・ウィンドウを表示
# n7_map_help("一行目の文章")
# n7_map_help_add("二行目の文章")
# ・ウィンドウを閉じる
# n7_map_help
# という感じでイベントを組んで下さい。
#
#==============================================================================
#◇初期設定
module Nana
module Map_Help
LINE = 2 #ウィンドウの行数
OPACITY = 255 #ウィンドウの不透明度
POSITION = 0 #ウィンドウの位置
#(Y座標を指定、また-1なら下、-2なら中央に配置)
end
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
# マップを扱うクラスです。スクロールや通行可能判定などの機能を持っています。
# このクラスのインスタンスは $game_map で参照されます。
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :help_text # ヘルプウィンドウのテキスト
attr_accessor :help_text2 # ヘルプ更新の比較用
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias initialize_maphelp initialize
def initialize
initialize_maphelp
help_text = ""
help_text2 = ""
end
end
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# マップ画面の処理を行うクラスです。
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 全ウィンドウの作成
#--------------------------------------------------------------------------
alias create_all_windows_maphelp create_all_windows
def create_all_windows
create_all_windows_maphelp
create_help_window
end
#--------------------------------------------------------------------------
# ● ヘルプウィンドウの作成
#--------------------------------------------------------------------------
def create_help_window
@help_window = Window_Help.new(Nana::Map_Help::LINE)
case Nana::Map_Help::POSITION
when -1
@help_window.y = Graphics.height - @help_window.height
when -2
@help_window.y = (Graphics.height - @help_window.height) / 2
else
@help_window.y = Nana::Map_Help::POSITION
end
@help_window.opacity = Nana::Map_Help::OPACITY
@help_window.openness = 0
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias update_maphelp update
def update
update_maphelp
if $game_map.help_text != $game_map.help_text2
@help_window.set_text($game_map.help_text)
$game_map.help_text2 = $game_map.help_text
if $game_map.help_text == ""
@help_window.close
else
@help_window.open
end
end
end
#--------------------------------------------------------------------------
# ● 場所移動前の処理
#--------------------------------------------------------------------------
alias pre_transfer_maphelp pre_transfer
def pre_transfer
pre_transfer_maphelp
$game_map.help_text = ""
end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● ヘルプウィンドウの文章設定
#--------------------------------------------------------------------------
def n7_map_help(text = "")
$game_map.help_text = text
end
#--------------------------------------------------------------------------
# ● ヘルプウィンドウの文章追加(一行モード)
#--------------------------------------------------------------------------
def n7_map_help_add(text = "")
$game_map.help_text += "\n"
$game_map.help_text += text
end
end