ほぼ全ての画面で背景画像を設定スクリプト

フォーラムルール
素材の利用規約を決めたいけど、どんなことを書けばいいのか分からない場合は、
素材のテンプレートをご利用下さい。
アバター
オシブ
記事: 20
登録日時: 2015年11月10日(火) 15:25
連絡を取る:

ほぼ全ての画面で背景画像を設定スクリプト

投稿記事by オシブ » 2016年3月11日(金) 20:38

バトル画面を除く、ほぼすべての画面の背景画像を設定することができるスクリプト素材です。
また、画面内のウインドウを全て透明化する機能もあります。
自分で背景画像をシーン毎に作ることができれば、オリジナリティあふれる画面になる……かも?

画像
画像
画像
画像
※改造した状態での再配布はクレジット表記をしてくれればOKです。
※また他サイトなどに改造の相談や質問するために引用転載することはOKです。

画像
画像

【使い方】
・スクリプト内で設定するだけ。
・要:背景画像素材

キャプチャ1.JPG
キャプチャ1.JPG (64.89 KiB) 閲覧数: 7411 回


キャプチャ2.JPG
キャプチャ2.JPG (69.07 KiB) 閲覧数: 7411 回


キャプチャ.JPG
キャプチャ.JPG (38.98 KiB) 閲覧数: 7411 回


(例に使った背景画像はCLOSET様からお借りしました。ありがとうございました。)


【ダウンロード】

コード: 全て選択

#==============================================================================
# ■ module Oxib_back_picture
#------------------------------------------------------------------------------
# ■ カスタマイズ項目
#==============================================================================

module Oxib_back_picture
  #--------------------------------------------------------------------------
  # ● メニュー画面の設定
  #--------------------------------------------------------------------------
  #背景画像を使用するかどうか(使用する→true 使用しない→ false)
  MENU_USE = false
  #画面内のウインドウを透明化するかどうか
  MENU_WINDOWS_HIDE = true
  #背景画像のファイル名 ※ファイルはピクチャフォルダに入れてください。
  MENU_PICTURE = "back_picture"
  #--------------------------------------------------------------------------
  # ● アイテム画面の設定
  #-------------------------------------------------------------------------- 
  ITEM_USE = false
  ITEM_WINDOWS_HIDE = true
  ITEM_PICTURE = "back_picture"
  #--------------------------------------------------------------------------
  # ● スキル画面の設定
  #--------------------------------------------------------------------------
  SKILL_USE = false
  SKILL_WINDOWS_HIDE = true
  SKILL_PICTURE = "back_picture"
  #--------------------------------------------------------------------------
  # ● 装備画面の設定
  #--------------------------------------------------------------------------
  EQUIP_USE = false
  EQUIP_WINDOWS_HIDE = true
  EQUIP_PICTURE = "back_picture"
  #--------------------------------------------------------------------------
  # ● ステータス画面の設定
  #--------------------------------------------------------------------------
  STATUS_USE = false
  STATUS_WINDOWS_HIDE = true
  STATUS_PICTURE = "back_picture"
  #--------------------------------------------------------------------------
  # ● セーブ、ロード画面の設定
  #--------------------------------------------------------------------------
  FILE_USE = false
  FILE_WINDOWS_HIDE = true
  FILE_PICTURE = "back_picture"
  #--------------------------------------------------------------------------
  # ● ショップ画面の設定
  #--------------------------------------------------------------------------
  SHOP_USE = false
  SHOP_WINDOWS_HIDE = true
  SHOP_PICTURE = "back_picture"
 
end #消さないでください
#==============================================================================
# ☆ 設定ここまで ☆
#==============================================================================

#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
#  ゲーム中の全てのウィンドウのスーパークラスです。
#==============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● ウインドウを透明にする
  #--------------------------------------------------------------------------
  def opacity_zero(window_use = true)
    return if window_use
    self.opacity = 0
    self.back_opacity = 0
  end
end
#==============================================================================
# ■ Scene_MenuBase
#------------------------------------------------------------------------------
#  メニュー画面系の基本処理を行うクラスです。
#==============================================================================

class Scene_MenuBase < Scene_Base
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  def create_back_picture(file)
    @background_sprite = Sprite.new
    @background_sprite.bitmap = Cache.picture(file)
  end
  #--------------------------------------------------------------------------
  # ● 全ウィンドウを透明化
  #--------------------------------------------------------------------------
  def opacity_all_windows(use)
    return if use == false
    instance_variables.each do |varname|
      ivar = instance_variable_get(varname)
      ivar.opacity_zero(false) if ivar.is_a?(Window)
    end
  end
end

#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
#  メニュー画面の処理を行うクラスです。
#==============================================================================

class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias back_picture_start start
  def start
    back_picture_start
    opacity_all_windows(Oxib_back_picture::MENU_WINDOWS_HIDE)
  end
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  alias back_picture_create_background create_background
  def create_background
    if Oxib_back_picture::MENU_USE
      create_back_picture(Oxib_back_picture::MENU_PICTURE)
    else
      back_picture_create_background
    end
  end
end

#==============================================================================
# ■ Scene_ItemBase
#------------------------------------------------------------------------------
#  アイテム画面とスキル画面の共通処理を行うクラスです。
#==============================================================================

class Scene_ItemBase < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 全ウィンドウを透明化
  #--------------------------------------------------------------------------
  def opacity_all_windows(use)
    return if use == false
    instance_variables.each do |varname|
      ivar = instance_variable_get(varname)
      next if ivar.is_a?(Window_MenuActor)
      ivar.opacity_zero(false) if ivar.is_a?(Window)
    end
  end
end

#==============================================================================
# ■ Scene_Item
#------------------------------------------------------------------------------
#  アイテム画面の処理を行うクラスです。
#==============================================================================

class Scene_Item < Scene_ItemBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias back_picture_start start
  def start
    back_picture_start
    opacity_all_windows(Oxib_back_picture::ITEM_WINDOWS_HIDE)
  end
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  alias back_picture_create_background create_background
  def create_background
    if Oxib_back_picture::ITEM_USE
      create_back_picture(Oxib_back_picture::ITEM_PICTURE)
    else
      back_picture_create_background
    end
  end
end

#==============================================================================
# ■ Scene_Skill
#------------------------------------------------------------------------------
#  スキル画面の処理を行うクラスです。処理共通化の便宜上、スキルも「アイテム」
# として扱っています。
#==============================================================================

class Scene_Skill < Scene_ItemBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias back_picture_start start
  def start
    back_picture_start
    opacity_all_windows(Oxib_back_picture::SKILL_WINDOWS_HIDE)
  end
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  alias back_picture_create_background create_background
  def create_background
    if Oxib_back_picture::SKILL_USE
      create_back_picture(Oxib_back_picture::SKILL_PICTURE)
    else
      back_picture_create_background
    end
  end
end

#==============================================================================
# ■ Scene_Equip
#------------------------------------------------------------------------------
#  装備画面の処理を行うクラスです。
#==============================================================================

class Scene_Equip < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias back_picture_start start
  def start
    back_picture_start
    opacity_all_windows(Oxib_back_picture::EQUIP_WINDOWS_HIDE)
  end
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  alias back_picture_create_background create_background
  def create_background
    if Oxib_back_picture::EQUIP_USE
      create_back_picture(Oxib_back_picture::EQUIP_PICTURE)
    else
      back_picture_create_background
    end
  end
end

#==============================================================================
# ■ Scene_Status
#------------------------------------------------------------------------------
#  ステータス画面の処理を行うクラスです。
#==============================================================================

class Scene_Status < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias back_picture_start start
  def start
    back_picture_start
    opacity_all_windows(Oxib_back_picture::STATUS_WINDOWS_HIDE)
  end
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  alias back_picture_create_background create_background
  def create_background
    if Oxib_back_picture::STATUS_USE
      create_back_picture(Oxib_back_picture::STATUS_PICTURE)
    else
      back_picture_create_background
    end
  end
end

#==============================================================================
# ■ Scene_File
#------------------------------------------------------------------------------
#  セーブ画面とロード画面の共通処理を行うクラスです。
#==============================================================================

class Scene_File < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias back_picture_start start
  def start
    back_picture_start
    opacity_all_windows(Oxib_back_picture::FILE_WINDOWS_HIDE)
  end
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  alias back_picture_create_background create_background
  def create_background
    if Oxib_back_picture::FILE_USE
      create_back_picture(Oxib_back_picture::FILE_PICTURE)
    else
      back_picture_create_background
    end
  end
  #--------------------------------------------------------------------------
  # ● 全ウィンドウを透明化
  #--------------------------------------------------------------------------
  alias back_picture_opacity_all_windows opacity_all_windows 
  def opacity_all_windows(use)
    back_picture_opacity_all_windows(use)
    @savefile_windows.each {|window| window.opacity_zero(false)}
  end
end

#==============================================================================
# ■ Scene_Shop
#------------------------------------------------------------------------------
#  ショップ画面の処理を行うクラスです。
#==============================================================================

class Scene_Shop < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias back_picture_start start
  def start
    back_picture_start
    opacity_all_windows(Oxib_back_picture::SHOP_WINDOWS_HIDE)
  end
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  alias back_picture_create_background create_background
  def create_background
    if Oxib_back_picture::SHOP_USE
      create_back_picture(Oxib_back_picture::SHOP_PICTURE)
    else
      back_picture_create_background
    end
  end
end

#==============================================================================
# ■ Scene_End
#------------------------------------------------------------------------------
#  ゲーム終了画面の処理を行うクラスです。
#==============================================================================

class Scene_End < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias back_picture_start start
  def start
    back_picture_start
    opacity_all_windows(Oxib_back_picture::MENU_WINDOWS_HIDE)
  end
  #--------------------------------------------------------------------------
  # ● 背景の作成
  #--------------------------------------------------------------------------
  alias back_picture_create_background create_background
  def create_background
    if Oxib_back_picture::MENU_USE
      create_back_picture(Oxib_back_picture::MENU_PICTURE)
    else
      back_picture_create_background
    end
  end
end


※スキルとアイテム画面で、アイテムなどを使用した場合に
表示するアクター選択ウインドウまで透明化するバグを修正しました。

――――――――――――――――――――――――――――――――――――――――――――――
RPGツクールVXでシナリオ重視ゲーム作ってます。

画像
サイト:Mix Idea
アドレス:http://oxibgame.jugem.jp/
―――――――――――――――――――――――――――――――――――――――――――――――

“Ace:スクリプト素材(RGSS3)” へ戻る