타이틀/게임오버

타이틀 화면 커스터마이즈 (타이틀 메뉴 바꾸는 스크립트)

by №1 posted Aug 04, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

RPG XP 스크립트

타이틀 화면 커스터마이즈

by. №1

타이틀 메뉴를 바꾸는 스크립트입니다.

출처는  http://2d6.parasite.jp/입니다.

어떤 블로그에서 찾았습니다.

 

중복일지도?

필요한 파일은 같이 첨부를 해놓았습니다.

2ec066674c3ca95961150950409ed51f.

0e7a56e8e015fd2a4870957c0c643c43.

c36f1cbda782ea7bd82094c1cad81268.

c4bd5cc8c66571faef1213fc4640f498.

ca8fe02e43d21d05939148c3a7afe2a5.

c186367edcf7a116d6a3272bd02effee.

 

 

첨부파일은 Graphics/titles에 저장하시면 됩니다.

 

17f60fff05701c37c63d26ea1ae3d8a6.

 

)예

 

 

 ----------------------------------------아래부터 복사해서 쓰시길 바랍니다.-------------------------------------------------

 

#==============================================================================
# ++ タイトル?面カスタマイズ 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