#============================================================================== # ++ タイトル画面カスタマイズ [VX] ver. 1.00 ++ #  Script by パラ犬 #  http://2d6.parasite.jp/ #------------------------------------------------------------------------------ # タイトルメニューに画像を使用、もしくはメニューウインドウの外見を変更します。 #============================================================================== module PARA_TITLE_CUSTOM # メニューコマンドに画像を使う( true / false ) IMG_MENU = true #↓---メニューコマンドに画像を使う時の設定--- # メニューコマンドに使う画像ファイル名(「Graphics/System」にインポート ) #( 書式は [ コマンド未選択時 , コマンドが選択されたとき ] ) # ニューゲーム IMG_NEWGAME = ["newgame","newgame_active"] IMG_NEWGAME_X = 200 # 横位置 IMG_NEWGAME_Y = 300 # 縦位置 # コンティニュー IMG_CONTINUE = ["continue","continue_active"] IMG_CONTINUE_X = 200 # 横位置 IMG_CONTINUE_Y = 332 # 縦位置 # シャットダウン IMG_SHUTDOWN = ["shutdown","shutdown_active"] IMG_SHUTDOWN_X = 200 # 横位置 IMG_SHUTDOWN_Y = 364 # 縦位置 # コンティニュー無効時( 0:半透明 / 1:画像を指定 ) LOAD_DISABLED_TYPE = 0 # コンティニュー無効時の画像 IMG_CONTINUE_DISABLED = ["continue_disabled","continue_disabled_active"] # 画像の合成方法( 0:通常 / 1:加算 / 2:減算 ) BLEND_TYPE = 0 #↓---メニューコマンドに画像を使わない時の設定--- # ウィンドウ枠を非表示にする( true / false ) WINDOW_TRANS = false # ウィンドウの透明度(ウィンドウ枠を表示している時に指定) WINDOW_OPACITY = 160 # ウィンドウの横サイズ WINDOW_WIDTH = 172 # ウィンドウの横位置( 0:座標指定 / 1:左端 / 2:中央 / 3:右端 ) WINDOW_ALIGN = 2 # 「座標指定」の時のウィンドウの横座標 WINDOW_POS_X = 0 # ウィンドウの縦位置( 0:座標指定 / 1:上端 / 2:中央 / 3:下端 ) WINDOW_VALIGN = 0 # 「座標指定」の時のウィンドウの縦座標 WINDOW_POS_Y = 288 end # ↑ 設定項目ここまで #------------------------------------------------------------------------------ #============================================================================== # ■ Scene_Title #============================================================================== class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # ● コマンドウィンドウの作成 #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::new_game s2 = Vocab::continue s3 = Vocab::shutdown w = PARA_TITLE_CUSTOM::WINDOW_WIDTH @command_window = Window_Command.new(w, [s1, s2, s3]) @command_window.x = (544 - @command_window.width) / 2 @command_window.y = 288 if @continue_enabled # コンティニューが有効な場合 @command_window.index = 1 # カーソルを合わせる else # 無効な場合 @command_window.draw_item(1, false) # コマンドを半透明表示にする end @command_window.openness = 0 # 画像コマンドウィンドウを使うか if PARA_TITLE_CUSTOM::IMG_MENU # コマンドウィンドウを非表示に @command_window.opacity = 0 @command_window.contents_opacity = 0 create_img_command_window else change_window_visual end @command_window.open end #-------------------------------------------------------------------------- # ○ コマンドウィンドウの外見設定 #-------------------------------------------------------------------------- def change_window_visual # ウィンドウの透明度 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 = ( 544 - @command_window.width ) / 2 when 3 @command_window.x = 544 - @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 = ( 416 - @command_window.height ) / 2 when 3 @command_window.y = 416 - @command_window.height end end #-------------------------------------------------------------------------- # ○ 画像コマンドウィンドウの作成 #-------------------------------------------------------------------------- def create_img_command_window # スプライト生成 sprite1 = Sprite.new sprite1.x = PARA_TITLE_CUSTOM::IMG_NEWGAME_X sprite1.y = PARA_TITLE_CUSTOM::IMG_NEWGAME_Y sprite1.blend_type = PARA_TITLE_CUSTOM::BLEND_TYPE sprite2 = Sprite.new sprite2.x = PARA_TITLE_CUSTOM::IMG_CONTINUE_X sprite2.y = PARA_TITLE_CUSTOM::IMG_CONTINUE_Y sprite2.blend_type = PARA_TITLE_CUSTOM::BLEND_TYPE sprite3 = Sprite.new sprite3.x = PARA_TITLE_CUSTOM::IMG_SHUTDOWN_X sprite3.y = PARA_TITLE_CUSTOM::IMG_SHUTDOWN_Y sprite3.blend_type = PARA_TITLE_CUSTOM::BLEND_TYPE # スプライトセットで管理 @command_sprites = [sprite1, sprite2, sprite3] # ビットマップファイル名を配列で管理 @command_bitmaps = [PARA_TITLE_CUSTOM::IMG_NEWGAME, PARA_TITLE_CUSTOM::IMG_CONTINUE, PARA_TITLE_CUSTOM::IMG_SHUTDOWN] if @continue_enabled # コンティニューが有効な場合 select_img_item(1) # カーソルを合わせる else # 無効な場合 case PARA_TITLE_CUSTOM::LOAD_DISABLED_TYPE when 0 # コンティニュー無効時半透明 @command_sprites[1].opacity = 160 when 1 # コンティニュー無効時専用画像 @command_bitmaps[1] = PARA_TITLE_CUSTOM::IMG_CONTINUE_DISABLED end select_img_item(0) # カーソルを合わせる end end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update super @command_window.update if PARA_TITLE_CUSTOM::IMG_MENU if Input.repeat?(Input::UP) or Input.repeat?(Input::DOWN) # 画像切り替え select_img_item(@command_window.index) end end if Input.trigger?(Input::C) case @command_window.index when 0 # ニューゲーム command_new_game when 1 # コンティニュー command_continue when 2 # シャットダウン command_shutdown end end end #-------------------------------------------------------------------------- # ○ メニュー選択時の画像切り替え #-------------------------------------------------------------------------- def select_img_item(index) case index when 0 @command_sprites[0].bitmap = Cache.system(@command_bitmaps[0][1]) @command_sprites[1].bitmap = Cache.system(@command_bitmaps[1][0]) @command_sprites[2].bitmap = Cache.system(@command_bitmaps[2][0]) when 1 @command_sprites[0].bitmap = Cache.system(@command_bitmaps[0][0]) @command_sprites[1].bitmap = Cache.system(@command_bitmaps[1][1]) @command_sprites[2].bitmap = Cache.system(@command_bitmaps[2][0]) when 2 @command_sprites[0].bitmap = Cache.system(@command_bitmaps[0][0]) @command_sprites[1].bitmap = Cache.system(@command_bitmaps[1][0]) @command_sprites[2].bitmap = Cache.system(@command_bitmaps[2][1]) end end #-------------------------------------------------------------------------- # ● コマンドウィンドウの解放 #-------------------------------------------------------------------------- def dispose_command_window @command_window.dispose if @command_sprites != nil @command_sprites[0].dispose @command_sprites[1].dispose @command_sprites[2].dispose end end #-------------------------------------------------------------------------- # ● コマンドウィンドウを開く #-------------------------------------------------------------------------- def open_command_window # ウィンドウの背景が非表示のときは瞬間表示 if PARA_TITLE_CUSTOM::WINDOW_TRANS @command_window.openness = 255 end @command_window.open begin @command_window.update Graphics.update end until @command_window.openness == 255 end #-------------------------------------------------------------------------- # ● コマンドウィンドウを閉じる #-------------------------------------------------------------------------- def close_command_window # ウィンドウの背景が非表示のときはクローズしないようにする if not(PARA_TITLE_CUSTOM::WINDOW_TRANS) @command_window.close begin @command_window.update Graphics.update end until @command_window.openness == 0 end end end