# xpに対するバドルバック効果は？

**URL:** <https://guild.rpgmakerofficial.com/t/topic/2276>\
**Category:** RGSSx\
**Tags:** xp\
**Created:** [2026 年 7 月 16 日午前 7:16 UTC](https://guild.rpgmakerofficial.com/t/topic/2276 "2026-07-16T07:16:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![AunknownArtist](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/aunknownartist/32/5310_2.png) [@AunknownArtist](https://guild.rpgmakerofficial.com/u/AunknownArtist)\
**Post date:** [2026 年 7 月 16 日午前 7:16 UTC](https://guild.rpgmakerofficial.com/t/topic/2276/1 "2026-07-16T07:16:31Z")

</div>

エンジン内で旋回、色調変換、波打つなどのエフェクト付きで戦闘背景をアニメーション化するスクリプトやコードをご存知の方がいらっしゃいましたら教えていただきたいです。色々と探してみましたが、そのような機能を持つスクリプトは見つかりませんでした。シェーダーが必要になる可能性は理解していますが、RMXPエンジンがどのように動作しているかについては詳しくないため、これが可能かどうかは分かりません。

---

<div class="post-metadata">

**Author:** ![BlueDragonDreaming](https://avatars.discourse-cdn.com/v4/letter/b/977dab/32.png) [@BlueDragonDreaming](https://guild.rpgmakerofficial.com/u/BlueDragonDreaming)\
**Post date:** [2026 年 7 月 17 日午前 12:15 UTC](https://guild.rpgmakerofficial.com/t/topic/2276/2 "2026-07-17T00:15:22Z")

</div>

バトルバックの画像は、連続した名前で命名します（例：`Forest`、`Forest1`、`Forest2`、`Forest3`）。スクリプトは指定された速度でこれらを切り替えることで、アニメーションを作成します。 []

**コード:**

スクリプトエディタの **Main** の直上に新しいスクリプトセクションを作成し、以下のコードを貼り付けてください： [[1](https://github.com/BerndHagen/RPG-Maker-XP-Script-Library), [2](https://github.com/BerndHagen/RPG-Maker-XP-Script-Library)]

**ruby**

```auto
#==============================================================================
# Animated Battle Background by Blizzard
# Version: 1.1b (Slightly modified for brevity)
#==============================================================================

class Game_System
  attr_accessor :ANIMATED_BATTLE_BACKGROUND
  alias init_abb_game_system initialize
  def initialize
    init_abb_game_system
    @ANIMATED_BATTLE_BACKGROUND = true
  end
end

module BattlebackAnimation
  SPEED = 8 # Lower = faster, higher = slower
end

class Spriteset_Battle
  alias init_animated_battle_background_later initialize
  def initialize
    @frame = 0; @max_frame = 0; @origin_name = ""
    init_animated_battle_background_later
  end

  alias upd_animated_battle_background_later update
  def update
    if $game_system.ANIMATED_BATTLE_BACKGROUND
      if @origin_name != $game_temp.battleback_name
        @origin_name = $game_temp.battleback_name
        @frame = 0; @max_frame = 1
        while FileTest.exist?("Graphics/Battlebacks/#{@origin_name}#{@max_frame}.png")
          @max_frame += 1
        end
      end
      if @max_frame > 1 && Graphics.frame_count % BattlebackAnimation::SPEED == 0
        @frame = (@frame + 1) % @max_frame
        fname = @frame == 0 ? @origin_name : @origin_name + @frame.to_s
        $game_temp.battleback_name = fname
        @battleback1_sprite.bitmap = RPG::Cache.battleback(fname)
      end
    end
    upd_animated_battle_background_later
  end
end

```

コードを使用する際は注意してください。

**ファイルの設定方法:**

1. ベースとなるバトルバックを作成し、`Graphics/Battlebacks` にインポートします。
2. アニメーションのフレームには、ベースファイルの名前に番号を付けたものを正確に使用します（例：ベースファイル：`Grass.png`、アニメーションフレーム：`Grass1.png`、`Grass2.png` など）。
3. アニメーションの再生速度が速すぎる場合や遅すぎる場合は、スクリプトモジュール内の `SPEED` 定数（10〜13行目）を調整してください。 []
