マップごとの詳細設定(原始的手法)



200Xにあったマップごとにバトルバック、パノラマ設定をXPでもやってみる方法です。
オマケであるスイッチがonの場合のBGM変更機能も追加

ただし、これはあくまで原始的な手法であって、もしかしたらもっと手軽な方法があるかもしれません。

Game_Mapの50行くらいから改造を始めてください。

メリット
ツクールXPの仕様。『タイルセットは同じでBGMやバトルバックなどが違う場合』いちいち新しくタイル
セットを造らなければならないという点の解消

デメリット
マップIDごとに設定するため大長編RPGだと設定が面倒くさくなるかも・・・

変更点
2006:06:05
BGM変更機能追加

  #--------------------------------------------------------------------------
  # ● セットアップ
  #     map_id : マップ ID
  #--------------------------------------------------------------------------
  def setup(map_id)
    # マップ ID を @map_id に記憶
    @map_id = map_id
    # マップをファイルからロードし、@map に設定
    @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
    # 公開インスタンス変数にタイルセットの情報を設定
    tileset = $data_tilesets[@map.tileset_id]
    @tileset_name = tileset.tileset_name
    @autotile_names = tileset.autotile_names
    if @map_id == マップID
      @panorama_name = "パノラマグラフィックのネーム(拡張子無し)"
    elsif map_id == マップID
      @panorama_name = "パノラマグラフィックのネーム(拡張子無し)"
    〜以下略〜
    else
      @panorama_name = tileset.panorama_name
    end
    @panorama_hue = tileset.panorama_hue
    @fog_name = tileset.fog_name
    @fog_hue = tileset.fog_hue
    @fog_opacity = tileset.fog_opacity
    @fog_blend_type = tileset.fog_blend_type
    @fog_zoom = tileset.fog_zoom
    @fog_sx = tileset.fog_sx
    @fog_sy = tileset.fog_sy
    if @map_id == マップID
      @battleback_name = "バトルバックグラフィックのネーム(拡張子無し)"
    elsif @map_id == マップID
      @battleback_name = "バトルバックグラフィックのネーム(拡張子無し)"
    〜以下略〜
    else
      @battleback_name = tileset.battleback_name
    end
    〜以下略〜
  #--------------------------------------------------------------------------
  # ● BGM / BGS 自動切り替え
  #--------------------------------------------------------------------------
  def autoplay
    if @map.autoplay_bgm
      if $game_switches[スイッチ番号] == true && (@map_id == マップID)
        $game_system.bgm_play(RPG::AudioFile.new("BGMファイルネーム(拡張子無し)", 100, 100))
      〜以下略〜 
      else
        $game_system.bgm_play(@map.bgm)
      end
    end
    if @map.autoplay_bgs
      $game_system.bgs_play(@map.bgs)
    end
  end
水色、緑色の部分を変更、追加するだけでOK。 パノラマの色相もマップごとに変更するには『@panorama_hue = tileset.panorama_hue』の部分も同じように 変更してください。また、同じ要領でフォグもマップごとに設定できます。(フォグの場合設定項目が7つ もあるのですが・・・)

戻る