战斗回血对经验值有影响吗?

我在想是否有人知道任何可以在引擎中为战斗背景添加特效(如旋转、色调变化和波浪效果)的脚本或代码。我一直在寻找,但没能找到能够实现这些功能的脚本。我理解这可能需要着色器,但我对RMXP引擎的运行机制不太了解,所以不知道这是否可行。

你按顺序命名你的战斗背景图像(例如 ForestForest1Forest2Forest3)。脚本会以指定的速度循环播放这些图像,从而创建动画效果。 []

代码:

在脚本编辑器中,在 Main 上方创建一个新的脚本部分,并粘贴以下代码: [1, 2]

ruby

#==============================================================================
# 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.pngGrass2.png 等)。
  3. 如果动画播放太快或太慢,请调整脚本模块(第 10-13 行)中的 SPEED 常量。 []
2 个赞