RPG XP 스크립트
타이틀 화면 커스터마이즈
by. №1
타이틀 메뉴를 바꾸는 스크립트입니다.
출처는 http://2d6.parasite.jp/입니다.
어떤 블로그에서 찾았습니다.
중복일지도?
필요한 파일은 같이 첨부를 해놓았습니다.
첨부파일은 Graphics/titles에 저장하시면 됩니다.
)예
----------------------------------------아래부터 복사해서 쓰시길 바랍니다.-------------------------------------------------
#==============================================================================
# ++ タイトル?面カスタマイズ ver. 1.01 ++
# Script by パラ犬
# http://2d6.parasite.jp/
#------------------------------------------------------------------------------
# タイトルメニュ?に?像を使用、もしくはメニュ?の文字を?更します。
#==============================================================================
module PARA_TITLE_CUSTOM
# メニュ?コマンドに?像を使う( true / false )
IMG_MENU = true
#↓---メニュ?コマンドに?像を使わない時の設定---
# メニュ?コマンドの文字列
MENU_NEWGAME = "ニュ?ゲ?ム" # ニュ?ゲ?ム
MENU_LOAD = "コンティニュ?" # コンティニュ?
MENU_END = "シャットダウン" # シャットダウン
# ウインドウ?を非表示( true / false )
WINDOW_TRANS = false
# ウインドウの透明度(ウインドウ?を表示している時に指定)
WINDOW_OPACITY = 160
# ウインドウの?サイズ
WINDOW_WIDTH = 192
# ウインドウの?位置( 0:座標指定 / 1:左端 / 2:中央 / 3:右端 )
WINDOW_ALIGN = 2
# 「座標指定」の時のウインドウの?座標
WINDOW_POS_X = 0
# ウインドウの?位置( 0:座標指定 / 1:上端 / 2:中央 / 3:下端 )
WINDOW_VALIGN = 0
# 「座標指定」の時のウインドウの?座標
WINDOW_POS_Y = 288
#↓---メニュ?コマンドに?像を使う時の設定---
# メニュ?コマンドに使う?像ファイル名(「Graphics/Titles」にインポ?ト )
#( 書式は [ コマンド未選?時 , コマンドが選?されたとき ] )
# ニュ?ゲ?ム
IMG_NEWGAME = ["newgame","newgame_active"]
IMG_NEWGAME_X = 450 # ?位置
IMG_NEWGAME_Y = 320 # ?位置
# コンティニュ?
IMG_LOAD = ["continue","continue_active"]
IMG_LOAD_X = 450 # ?位置
IMG_LOAD_Y = 360 # ?位置
# シャットダウン
IMG_END = ["shutdown","shutdown_active"]
IMG_END_X = 450 # ?位置
IMG_END_Y = 400 # ?位置
# ?像の合成方法( 0:通常 / 1:加算 / 2:減算 )
BLEND_TYPE = 0
end
# ↑ 設定項目ここまで
#------------------------------------------------------------------------------
#==============================================================================
# ■ Scene_Title
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# ● メイン?理
#--------------------------------------------------------------------------
def main
# ??テストの場合
if $BTEST
battle_test
return
end
# デ?タベ?スをロ?ド
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# システムオブジェクトを作成
$game_system = Game_System.new
# タイトルグラフィックを作成
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
# コマンドウィンドウを作成
s1 = PARA_TITLE_CUSTOM::MENU_NEWGAME
s2 = PARA_TITLE_CUSTOM::MENU_LOAD
s3 = PARA_TITLE_CUSTOM::MENU_END
w = PARA_TITLE_CUSTOM::WINDOW_WIDTH
@command_window = Window_Command.new(w, [s1, s2, s3])
if PARA_TITLE_CUSTOM::WINDOW_TRANS
@command_window.opacity = 0
else
@command_window.back_opacity = PARA_TITLE_CUSTOM::WINDOW_OPACITY
end
# ウインドウの位置を指定
case PARA_TITLE_CUSTOM::WINDOW_ALIGN
when 0
@command_window.x = PARA_TITLE_CUSTOM::WINDOW_POS_X
when 1
@command_window.x = 0
when 2
@command_window.x = ( 640 - @command_window.width ) / 2
when 3
@command_window.x = 640 - @command_window.width
end
case PARA_TITLE_CUSTOM::WINDOW_VALIGN
when 0
@command_window.y = PARA_TITLE_CUSTOM::WINDOW_POS_Y
when 1
@command_window.y = 0
when 2
@command_window.y = ( 480 - @command_window.height ) / 2
when 3
@command_window.y = 480 - @command_window.height
end
# コンティニュ?有?判定
# セ?ブファイルがひとつでも存在するかどうかを調べる
# 有?なら @continue_enabled を true、無?なら false にする
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.rxdata")
@continue_enabled = true
end
end
# コンティニュ?が有?な場合、カ?ソルをコンティニュ?に合わせる
# 無?な場合、コンティニュ?の文字をグレ?表示にする
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
# コマンドに?像を使う
if PARA_TITLE_CUSTOM::IMG_MENU
@command_window.visible = false
@command_img1 = Sprite.new
@command_img1.blend_type = PARA_TITLE_CUSTOM::BLEND_TYPE
@command_img1.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_NEWGAME[0])
@command_img1.x = PARA_TITLE_CUSTOM::IMG_NEWGAME_X
@command_img1.y = PARA_TITLE_CUSTOM::IMG_NEWGAME_Y
@command_img2 = Sprite.new
@command_img2.blend_type = PARA_TITLE_CUSTOM::BLEND_TYPE
@command_img2.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_LOAD[0])
@command_img2.x = PARA_TITLE_CUSTOM::IMG_LOAD_X
@command_img2.y = PARA_TITLE_CUSTOM::IMG_LOAD_Y
@command_img3 = Sprite.new
@command_img3.blend_type = PARA_TITLE_CUSTOM::BLEND_TYPE
@command_img3.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_END[0])
@command_img3.x = PARA_TITLE_CUSTOM::IMG_END_X
@command_img3.y = PARA_TITLE_CUSTOM::IMG_END_Y
# コンティニュ?が有?な場合、カ?ソルをコンティニュ?に合わせる
# 無?な場合、コンティニュ?の文字を半透明にする
if @continue_enabled
@command_img1.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_NEWGAME[0])
@command_img2.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_LOAD[1])
else
@command_img2.opacity = 160
@command_img1.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_NEWGAME[1])
@command_img2.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_LOAD[0])
end
end
# タイトル BGM を演奏
$game_system.bgm_play($data_system.title_bgm)
# ME、BGS の演奏を停止
Audio.me_stop
Audio.bgs_stop
# トランジション?行
Graphics.transition
# メインル?プ
loop do
# ゲ?ム?面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレ?ム更新
update
# ?面が切り替わったらル?プを中?
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# コマンドウィンドウを解放
@command_window.dispose
if PARA_TITLE_CUSTOM::IMG_MENU
@command_img1.dispose
@command_img2.dispose
@command_img3.dispose
end
# タイトルグラフィックを解放
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# ● フレ?ム更新
#--------------------------------------------------------------------------
alias update_para_tcst update
def update
update_para_tcst
if PARA_TITLE_CUSTOM::IMG_MENU
if Input.repeat?(Input::UP) or Input.repeat?(Input::DOWN)
case @command_window.index
when 0 # ニュ?ゲ?ム
@command_img1.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_NEWGAME[1])
@command_img2.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_LOAD[0])
@command_img3.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_END[0])
when 1 # コンティニュ?
@command_img1.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_NEWGAME[0])
@command_img2.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_LOAD[1])
@command_img3.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_END[0])
when 2 # シャットダウン
@command_img1.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_NEWGAME[0])
@command_img2.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_LOAD[0])
@command_img3.bitmap = RPG::Cache.title(PARA_TITLE_CUSTOM::IMG_END[1])
end
end
end
end
end