¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3390 miembros registrados.
El último usuario registrado es Byakuya88.

Nuestros miembros han publicado un total de 79775 mensajes en 11251 argumentos.
Navega con Google Chrome
[DESCARGA]

Editar un script.

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Editar un script.

Mensaje por Ledai el 2014-12-22, 17:37

Bueno, pues me interesaría saber si se puede hacer que lo que hace este script para los battlers enemigos se puede hacer también para los aliados.

Es el Script de Zoom en batalla y logra hacer que los enemigos se integren en el fondo al moverse para enfocar a un enemigo, pero no lo hace con los protagonistas y es lo que quiero, ya que tengo los script de batalla editados para que no aparezcan en el cuadro de estadísticas, si no que los tengo en medio de la pantalla y con prioridad baja para que aparenten estar en el escenario y necesitaría que hicieran lo mismo que los enemigos al usar el ZOOM en el escenario.

Dejo los materiales:
Código:
# La 'vue' du joueur n'est plus fixe pendant les combats.
# Krazplay
#==============================================================================
# □ カスタマイズポイント
#==============================================================================
module XRXS_BP8
  #
  # カメラ移動スピード基準値 (基本的に小さいほうが速い)
  #
  SPEED = 8
  #
  # XGAサイズを設定
  #
  GA = Rect.new(-192, -144, 1024, 768)
end
#------------------------------------------------------------------------------
# ▽ 可動カメラの動き設定
#------------------------------------------------------------------------------
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● パーティコマンドフェーズ開始
  #--------------------------------------------------------------------------
  alias xrxs_bp8_start_phase2 start_phase2
  def start_phase2
    # カメラ:センタリング
    $xcam.centering
    # 呼び戻す
    xrxs_bp8_start_phase2
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (アクターコマンドフェーズ : エネミー選択)
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update_phase3_enemy_select update_phase3_enemy_select
  def update_phase3_enemy_select
    # 現在選択中のエネミーを取得
    enemy = $game_troop.enemies[@enemy_arrow.index]
    # カメラ:注目
    #$xcam.watch_at(enemy.x)
    $xcam.watch(enemy)
    # 戻す
    xrxs_bp8_update_phase3_enemy_select
  end
  #--------------------------------------------------------------------------
  # ● エネミー選択終了
  #--------------------------------------------------------------------------
  alias xrxs_bp8_end_enemy_select end_enemy_select
  def end_enemy_select
    # カメラ:センタリング
    $xcam.centering
    # 呼び戻す
    xrxs_bp8_end_enemy_select
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update_phase4_step2 update_phase4_step2
  def update_phase4_step2
    # 戻す
    xrxs_bp8_update_phase4_step2
    # ステップ 3 に移行する予定の場合
    if @phase4_step == 3
      # アクティブなバトラーがバトルフィールドに居る場合
      if @active_battler.in_battlefield?
        # カメラ:注目
        $xcam.watch(@active_battler)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 3 : 行動側アニメーション)
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update_phase4_step3 update_phase4_step3
  def update_phase4_step3
    # 戻す
    xrxs_bp8_update_phase4_step3
    # カメラターゲットとなりうるターゲットの X 平均値を計算
    x_average  = 0
    number    = 0
    cam_target = nil
    for target in @target_battlers
      if target.in_battlefield?
        x_average += target.x
        number    += 1
        cam_target = target
      end
    end
    # カメラターゲットが見つかった場合
    if number > 0
      # もし対象アニメが「位置:画面」の場合
      animation = $data_animations[@animation2_id]
      if animation != nil and animation.position == 3
        # カメラ:センタリング
        $xcam.centering
        # カメラ:ズームアウト
        $xcam.zoomout
      elsif number == 1
        # カメラ:注目
        $xcam.watch(cam_target)
      else
        # カメラ:指定 X 位置を注目
        $xcam.watch_at(x_average / number)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● アフターバトルフェーズ開始
  #--------------------------------------------------------------------------
  alias xrxs_bp8_start_phase5 start_phase5
  def start_phase5
    # カメラ:センタリング
    $xcam.centering
    # 呼び戻す
    xrxs_bp8_start_phase5
  end
end
#------------------------------------------------------------------------------
# カスタマイズポイントここまで
#==============================================================================

#------------------------------------------------------------------------------
#
#
#
#    ▽ 可動カメラ システム ▽
#
#
#
#==============================================================================
# □ XCam
#------------------------------------------------------------------------------
#  可動カメラを扱うクラスです。
#==============================================================================
class XCam
  #--------------------------------------------------------------------------
  # ○ 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader  :x
  attr_reader  :y
  attr_reader  :z
  attr_accessor :x_destination
  attr_accessor :y_destination
  attr_accessor :z_destination
  attr_accessor :watch_battler
  attr_accessor :freeze_count
  #--------------------------------------------------------------------------
  # ○ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    # カメラ初期位置決定
    @x = 320
    @y = 240
    @z = 295
    # カメラ:センタリング
    self.centering
    # 初期化
    @freeze_count = 0
  end
  #--------------------------------------------------------------------------
  # ○ フレーム更新
  #--------------------------------------------------------------------------
  def update
    @moved = false
    # カメラ位置の更新
    if @freeze_count > 0
      # フリーズカウントを減らす
      @freeze_count -= 1
    else
      # スピードの取得
      speed = XRXS_BP8::SPEED
      # カメラ: Z 座標 (優先)
      z_dest = @z_destination
      if @z != z_dest
        @z = slide(@z, z_dest, 1, 74, 296)
        @moved = true
      end
      # カメラ: X 座標
      x_dest = @watch_battler == nil ? @x_destination : @watch_battler.x
      if @x != x_dest
        maximum = 192 * (296 - @z) / 111 + 320
        minimum = 640 - maximum
        @x = slide(@x, x_dest, 8, minimum, maximum)
        @moved = true
      end
      # カメラ: Y 座標
      y_dest = @watch_battler == nil ? @y_destination : 88 + @watch_battler.y/2
      if @y != y_dest
        maximum = 164 * (296 - @z) / 111 + 240
        minimum = 480 - maximum
        @y = slide(@y, y_dest, 4, minimum, maximum)
        @moved = true
      end
    end
  end
  #--------------------------------------------------------------------------
  # ○ スライド (現在地・目的地から行くべき現在地を返す)
  #--------------------------------------------------------------------------
  def slide(from, to, move_min, to_min, to_max)
    # 移動距離を計算
    distance = (to - from).abs
    # 結果を判別
    if distance < move_min
      result = to
    else
      sign  = from > to ? -1 : 1
      result = from + sign * [distance / XRXS_BP8::SPEED, move_min].max
    end
    # 範囲によって返却
    return [[result, to_min].max, to_max].min
  end
  #--------------------------------------------------------------------------
  # ○ 動いたかどうか?
  #--------------------------------------------------------------------------
  def moved?
    return @moved
  end
  #--------------------------------------------------------------------------
  # ○ センタリング
  #--------------------------------------------------------------------------
  def centering
    @watch_battler = nil
    @x_destination = 320
    @y_destination = 240
    @z_destination = 185
  end
  #--------------------------------------------------------------------------
  # ○ ズームアウト
  #--------------------------------------------------------------------------
  def zoomout
    @z_destination = 222
  end
  #--------------------------------------------------------------------------
  # ○ バトラーを注目
  #--------------------------------------------------------------------------
  def watch(battler)
    @watch_battler = battler
    @z_destination = 176
  end
  #--------------------------------------------------------------------------
  # ○ 指定 X 位置を注目
  #--------------------------------------------------------------------------
  def watch_at(x)
    @watch_battler = nil
    @x_destination =  x
    @y_destination = 240
    @z_destination = 185
  end
end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # ○ 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader  :x                        # バトルフィールド 横 位置(+が右 )
  attr_reader  :y                        # バトルフィールド 高さ 位置(+が下 )
  attr_reader  :z                        # バトルフィールド奥行き位置(+が手前)
  attr_accessor :zoom                    # 現在のズーム倍率
  #--------------------------------------------------------------------------
  # ○ バトルフィールド上に居るか?
  #--------------------------------------------------------------------------
  def in_battlefield?
    return false
  end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ○ バトルフィールド上に居るか? [オーバーライド]
  #--------------------------------------------------------------------------
  def in_battlefield?
    return true
  end
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias xrxs_bp8_initialize initialize
  def initialize(troop_id, member_index)
    # 初期化
    @z    = 0
    @zoom = 1.00
    # 呼び戻す
    xrxs_bp8_initialize(troop_id, member_index)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 X 座標の取得
  #--------------------------------------------------------------------------
  alias x screen_x
  def screen_x
    return self.x if $xcam == nil
    return 320 + (self.x - 320) * self.zoom + (320 - $xcam.x)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 Y 座標の取得
  #--------------------------------------------------------------------------
  alias y screen_y
  def screen_y
    return self.y if $xcam == nil
    return 240 + (self.y - 240) * self.zoom + (240 - $xcam.y)
  end
end
#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ○ フレーム更新 (可動カメラ)
  #--------------------------------------------------------------------------
  def update_xcam
    # カメラ位置が動いた場合
    if $xcam.moved?
      # カメラ位置からズーム率を計算
      zoom = 185.00 / $xcam.z
      # 背景の設定更新
      @battleback_sprite.zoom_x = zoom
      @battleback_sprite.zoom_y = zoom
      @battleback_sprite.x      = -($xcam.x - 320) * zoom - 512 * (zoom - 1)
      @battleback_sprite.y      = -($xcam.y - 240) * zoom - 384 * (zoom - 1)
    end
  end
end
#==============================================================================
# --- バトラースプライト・可動カメラ適用 ---
#==============================================================================
module XRXS_Cam_Deal
  def update
    # 呼び戻す
    super
    # バトラーがバトルフィールドにいない場合は終了
    return if @battler == nil or not @battler.in_battlefield?
    # カメラ Z 座標の取得
    cam_z = $xcam == nil ? 185 : $xcam.z
    #
    # ズーム率の変更
    # ( スプライト座標の再設定は元のメソッドに任せる )
    #
    zoom = 1.00 * 185 / (cam_z - @battler.z)
    self.zoom_x  = zoom
    self.zoom_y  = zoom
    @battler.zoom = zoom
  end
end
class Sprite_Battler < RPG::Sprite
  include XRXS_Cam_Deal
end
#==============================================================================
# --- ダメージフォロー モジュール ---
#==============================================================================
module XRXS_DamageFollow
  def update
    # 呼び戻す
    super
    # カメラが存在しない場合
    return if $xcam == nil
    # バトラーが nil またはバトルフィールドにいない場合
    return if @battler == nil or not @battler.in_battlefield?
    # 直前カメラ位置から、移動量を算出
    x_moved = @last_cam_x == nil ? 0 : $xcam.x - @last_cam_x
    y_moved = @last_cam_y == nil ? 0 : $xcam.y - @last_cam_y
    # ダメージスプライト配列の作成
    damage_sprites  = [@_damage_sprite]
    damage_sprites += @damage_sprites if @damage_sprites != nil
    # カメラをフォロー
    for sprite in damage_sprites
      next if sprite == nil
      next if sprite.disposed?
      sprite.x -= x_moved
      sprite.y -= y_moved
    end
    # 直前カメラ位置の保持
    @last_cam_x = $xcam.x
    @last_cam_y = $xcam.y
  end
end
class Sprite_Battler < RPG::Sprite
  include XRXS_DamageFollow
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias xrxs_bp8_main main
  def main
    # 可動カメラの生成
    $xcam = XCam.new
    # 戻す
    xrxs_bp8_main
    # 可動カメラの解放
    $xcam = nil
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update update
  def update
    # 可動カメラのフレーム更新
    $xcam.update
    # 呼び戻す
    xrxs_bp8_update
  end
end



#------------------------------------------------------------------------------
#
#
#
#    ▽ Full-View システム ▽
#
#
#
#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias xrxs_bp8_initialize initialize
  def initialize
    # 呼び戻す
    xrxs_bp8_initialize
    # グラフィックスアレイを取得
    ga = XRXS_BP8::GA
    # ビューポート 0 を作成
    @viewport0 = Viewport.new(ga.x, ga.y, ga.width, ga.height)
    @viewport0.z  = 0
    # ビューポート 1 の設定を変更
    @viewport1.z += 1
    @viewport1.rect.height = 480
    # バトルバックスプライトを再作成 (ビューポート 0 を使用)
    @battleback_sprite.dispose
    @battleback_sprite = Sprite.new(@viewport0)
    @battleback_name = ""
    # バトルバックのフレーム更新
    update_battleback
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  alias xrxs_bp8_dispose dispose
  def dispose
    # 呼び戻す
    xrxs_bp8_dispose
    # ビューポートを解放
    @viewport0.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update update
  def update
    # フレーム更新 (バトルバック)
    update_battleback
    # フレーム更新 (可動カメラ)
    update_xcam if defined? update_xcam
    # 呼び戻す
    xrxs_bp8_update
    # 画面のシェイク位置を設定
    @viewport0.ox = $game_screen.shake if @viewport0 != nil
  end
  #--------------------------------------------------------------------------
  # ○ フレーム更新 (バトルバック)
  #--------------------------------------------------------------------------
  def update_battleback
    # バトルバックのファイル名が現在のものと違う場合
    if @battleback_name != $game_temp.battleback_name
      @battleback_name = $game_temp.battleback_name
      if @battleback_sprite.bitmap != nil
        @battleback_sprite.bitmap.dispose
      end
      # グラフィックスアレイを取得
      ga = XRXS_BP8::GA
      # バトルバックの取得と拡大
      bg  = RPG::Cache.battleback(@battleback_name)
      xga  = Bitmap.new(ga.width, ga.height)
      xga.stretch_blt(xga.rect, bg, bg.rect)
      # XGAをバトルバックに設定
      @battleback_sprite.bitmap = xga
    end
  end
end
#==============================================================================
# ---「戦闘中の"画面"アニメの位置修正」モジュール ---
#==============================================================================
module XRXS_FullScreen_AnimationOffset
  def animation_set_sprites(sprites, cell_data, position)
    super
    for i in 0..15
      sprite = sprites[i]
      pattern = cell_data[i, 0]
      if sprite == nil or pattern == nil or pattern == -1
        next
      end
      if position == 3
        if self.viewport != nil
          sprite.y = 160 # この一行だけ変更
        end
      end
    end
  end
end
class Sprite_Battler < RPG::Sprite
  include XRXS_FullScreen_AnimationOffset
end



Ledai
Aventurero
Aventurero

0/3

Créditos 1368

Gracias : 126

http://ahurallg.blogspot.com.es/

Volver arriba Ir abajo

RPG Maker XP Re: Editar un script.

Mensaje por Wecoc el 2014-12-22, 18:24

Lo he probado.

Hay un problema con el script original, hay un pequeño salto al enfocar un enemigo para ser atacado, no sé si te has fijado.

No encuentro la causa pero enfocando también actores aún es peor.

Además, me parece que enfocar tanto enemigos como actores cada vez es demasiado porque marea bastante.

Ahí está el script editado.

Código:
# La 'vue' du joueur n'est plus fixe pendant les combats.
# Krazplay
#==============================================================================
# □ カスタマイズポイント
#==============================================================================
module XRXS_BP8
  #
  # カメラ移動スピード基準値 (基本的に小さいほうが速い)
  #
  SPEED = 8
  #
  # XGAサイズを設定
  #
  GA = Rect.new(-192, -144, 1024, 768)
end
#------------------------------------------------------------------------------
# ▽ 可動カメラの動き設定
#------------------------------------------------------------------------------
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● パーティコマンドフェーズ開始
  #--------------------------------------------------------------------------
  alias xrxs_bp8_start_phase2 start_phase2
  def start_phase2
    # カメラ:センタリング
    $xcam.centering
    # 呼び戻す
    xrxs_bp8_start_phase2
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (アクターコマンドフェーズ : エネミー選択)
  #--------------------------------------------------------------------------
 
  # Wecoc edit 1
  alias xrxs_bp8_update_phase3_actor_select update_phase3_actor_select
  def update_phase3_actor_select
    actor = $game_party.actors[@actor_arrow.index]
    $xcam.watch(actor)
    xrxs_bp8_update_phase3_actor_select
  end
 
  alias xrxs_bp8_update_phase3_enemy_select update_phase3_enemy_select
  def update_phase3_enemy_select
    enemy = $game_troop.enemies[@enemy_arrow.index]
    $xcam.watch(enemy)
    xrxs_bp8_update_phase3_enemy_select
  end
  #--------------------------------------------------------------------------
  # ● エネミー選択終了
  #--------------------------------------------------------------------------
 
  # Wecoc edit 2
  alias xrxs_bp8_end_actor_select end_actor_select
  def end_actor_select
    $xcam.centering
    xrxs_bp8_end_actor_select
  end

  alias xrxs_bp8_end_enemy_select end_enemy_select
  def end_enemy_select
    $xcam.centering
    xrxs_bp8_end_enemy_select
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update_phase4_step2 update_phase4_step2
  def update_phase4_step2
    # 戻す
    xrxs_bp8_update_phase4_step2
    # ステップ 3 に移行する予定の場合
    if @phase4_step == 3
      # アクティブなバトラーがバトルフィールドに居る場合
      if @active_battler.in_battlefield?
        # カメラ:注目
        $xcam.watch(@active_battler)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 3 : 行動側アニメーション)
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update_phase4_step3 update_phase4_step3
  def update_phase4_step3
    # 戻す
    xrxs_bp8_update_phase4_step3
    # カメラターゲットとなりうるターゲットの X 平均値を計算
    x_average  = 0
    number    = 0
    cam_target = nil
    for target in @target_battlers
      if target.in_battlefield?
        x_average += target.x
        number    += 1
        cam_target = target
      end
    end
    # カメラターゲットが見つかった場合
    if number > 0
      # もし対象アニメが「位置:画面」の場合
      animation = $data_animations[@animation2_id]
      if animation != nil and animation.position == 3
        # カメラ:センタリング
        $xcam.centering
        # カメラ:ズームアウト
        $xcam.zoomout
      elsif number == 1
        # カメラ:注目
        $xcam.watch(cam_target)
      else
        # カメラ:指定 X 位置を注目
        $xcam.watch_at(x_average / number)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● アフターバトルフェーズ開始
  #--------------------------------------------------------------------------
  alias xrxs_bp8_start_phase5 start_phase5
  def start_phase5
    # カメラ:センタリング
    $xcam.centering
    # 呼び戻す
    xrxs_bp8_start_phase5
  end
end
#------------------------------------------------------------------------------
# カスタマイズポイントここまで
#==============================================================================

#------------------------------------------------------------------------------
#
#
#
#    ▽ 可動カメラ システム ▽
#
#
#
#==============================================================================
# □ XCam
#------------------------------------------------------------------------------
#  可動カメラを扱うクラスです。
#==============================================================================
class XCam
  #--------------------------------------------------------------------------
  # ○ 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader  :x
  attr_reader  :y
  attr_reader  :z
  attr_accessor :x_destination
  attr_accessor :y_destination
  attr_accessor :z_destination
  attr_accessor :watch_battler
  attr_accessor :freeze_count
  #--------------------------------------------------------------------------
  # ○ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    # カメラ初期位置決定
    @x = 320
    @y = 240
    @z = 295
    # カメラ:センタリング
    self.centering
    # 初期化
    @freeze_count = 0
  end
  #--------------------------------------------------------------------------
  # ○ フレーム更新
  #--------------------------------------------------------------------------
  def update
    @moved = false
    # カメラ位置の更新
    if @freeze_count > 0
      # フリーズカウントを減らす
      @freeze_count -= 1
    else
      # スピードの取得
      speed = XRXS_BP8::SPEED
      # カメラ: Z 座標 (優先)
      z_dest = @z_destination
      if @z != z_dest
        @z = slide(@z, z_dest, 1, 74, 296)
        @moved = true
      end
      # カメラ: X 座標
      x_dest = @watch_battler == nil ? @x_destination : @watch_battler.x
      if @x != x_dest
        maximum = 192 * (296 - @z) / 111 + 320
        minimum = 640 - maximum
        @x = slide(@x, x_dest, 8, minimum, maximum)
        @moved = true
      end
      # カメラ: Y 座標
      y_dest = @watch_battler == nil ? @y_destination : 88 + @watch_battler.y/2
      if @y != y_dest
        maximum = 164 * (296 - @z) / 111 + 240
        minimum = 480 - maximum
        @y = slide(@y, y_dest, 4, minimum, maximum)
        @moved = true
      end
    end
  end
  #--------------------------------------------------------------------------
  # ○ スライド (現在地・目的地から行くべき現在地を返す)
  #--------------------------------------------------------------------------
  def slide(from, to, move_min, to_min, to_max)
    # 移動距離を計算
    distance = (to - from).abs
    # 結果を判別
    if distance < move_min
      result = to
    else
      sign  = from > to ? -1 : 1
      result = from + sign * [distance / XRXS_BP8::SPEED, move_min].max
    end
    # 範囲によって返却
    return [[result, to_min].max, to_max].min
  end
  #--------------------------------------------------------------------------
  # ○ 動いたかどうか?
  #--------------------------------------------------------------------------
  def moved?
    return @moved
  end
  #--------------------------------------------------------------------------
  # ○ センタリング
  #--------------------------------------------------------------------------
  def centering
    @watch_battler = nil
    @x_destination = 320
    @y_destination = 240
    @z_destination = 185
  end
  #--------------------------------------------------------------------------
  # ○ ズームアウト
  #--------------------------------------------------------------------------
  def zoomout
    @z_destination = 222
  end
  #--------------------------------------------------------------------------
  # ○ バトラーを注目
  #--------------------------------------------------------------------------
  def watch(battler)
    @watch_battler = battler
    @z_destination = 176
  end
  #--------------------------------------------------------------------------
  # ○ 指定 X 位置を注目
  #--------------------------------------------------------------------------
  def watch_at(x)
    @watch_battler = nil
    @x_destination =  x
    @y_destination = 240
    @z_destination = 185
  end
end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # ○ 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader  :x                        # バトルフィールド 横 位置(+が右 )
  attr_reader  :y                        # バトルフィールド 高さ 位置(+が下 )
  attr_reader  :z                        # バトルフィールド奥行き位置(+が手前)
  attr_accessor :zoom                    # 現在のズーム倍率
  #--------------------------------------------------------------------------
  # ○ バトルフィールド上に居るか?
  #--------------------------------------------------------------------------
  def in_battlefield?
    return false
  end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ○ バトルフィールド上に居るか? [オーバーライド]
  #--------------------------------------------------------------------------
  def in_battlefield?
    return true
  end
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias xrxs_bp8_initialize initialize
  def initialize(*args)
    # 初期化
    @z    = 0
    @zoom = 1.00
    # 呼び戻す
    xrxs_bp8_initialize(*args)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 X 座標の取得
  #--------------------------------------------------------------------------
  alias x screen_x
  def screen_x
    return self.x if $xcam == nil
    return 320 + (self.x - 320) * self.zoom + (320 - $xcam.x)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 Y 座標の取得
  #--------------------------------------------------------------------------
  alias y screen_y
  def screen_y
    return self.y if $xcam == nil
    return 240 + (self.y - 240) * self.zoom + (240 - $xcam.y)
  end
end

#==============================================================================
# ■ Game_Actor # Wecoc Edit 3
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ○ バトルフィールド上に居るか? [オーバーライド]
  #--------------------------------------------------------------------------
  def in_battlefield?
    return true
  end
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias xrxs_bp8_initialize initialize
  def initialize(*args)
    # 初期化
    @z    = 0
    @zoom = 1.00
    # 呼び戻す
    xrxs_bp8_initialize(*args)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 X 座標の取得
  #--------------------------------------------------------------------------
  alias x screen_x
  def screen_x
    return self.x if $xcam == nil
    return 320 + (self.x - 320) * self.zoom + (320 - $xcam.x)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 Y 座標の取得
  #--------------------------------------------------------------------------
  alias y screen_y
  def screen_y
    return self.y if $xcam == nil
    return 240 + (self.y - 240) * self.zoom + (240 - $xcam.y)
  end
end

#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ○ フレーム更新 (可動カメラ)
  #--------------------------------------------------------------------------
  def update_xcam
    # カメラ位置が動いた場合
    if $xcam.moved?
      # カメラ位置からズーム率を計算
      zoom = 185.00 / $xcam.z
      # 背景の設定更新
      @battleback_sprite.zoom_x = zoom
      @battleback_sprite.zoom_y = zoom
      @battleback_sprite.x      = -($xcam.x - 320) * zoom - 512 * (zoom - 1)
      @battleback_sprite.y      = -($xcam.y - 240) * zoom - 384 * (zoom - 1)
    end
  end
end
#==============================================================================
# --- バトラースプライト・可動カメラ適用 ---
#==============================================================================
module XRXS_Cam_Deal
  def update
    # 呼び戻す
    super
    # バトラーがバトルフィールドにいない場合は終了
    return if @battler == nil or not @battler.in_battlefield?
    # カメラ Z 座標の取得
    cam_z = $xcam == nil ? 185 : $xcam.z
    #
    # ズーム率の変更
    # ( スプライト座標の再設定は元のメソッドに任せる )
    #
    zoom = 1.00 * 185 / (cam_z - @battler.z)
    self.zoom_x  = zoom
    self.zoom_y  = zoom
    @battler.zoom = zoom
  end
end
class Sprite_Battler < RPG::Sprite
  include XRXS_Cam_Deal
end
#==============================================================================
# --- ダメージフォロー モジュール ---
#==============================================================================
module XRXS_DamageFollow
  def update
    # 呼び戻す
    super
    # カメラが存在しない場合
    return if $xcam == nil
    # バトラーが nil またはバトルフィールドにいない場合
    return if @battler == nil or not @battler.in_battlefield?
    # 直前カメラ位置から、移動量を算出
    x_moved = @last_cam_x == nil ? 0 : $xcam.x - @last_cam_x
    y_moved = @last_cam_y == nil ? 0 : $xcam.y - @last_cam_y
    # ダメージスプライト配列の作成
    damage_sprites  = [@_damage_sprite]
    damage_sprites += @damage_sprites if @damage_sprites != nil
    # カメラをフォロー
    for sprite in damage_sprites
      next if sprite == nil
      next if sprite.disposed?
      sprite.x -= x_moved
      sprite.y -= y_moved
    end
    # 直前カメラ位置の保持
    @last_cam_x = $xcam.x
    @last_cam_y = $xcam.y
  end
end
class Sprite_Battler < RPG::Sprite
  include XRXS_DamageFollow
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias xrxs_bp8_main main
  def main
    # 可動カメラの生成
    $xcam = XCam.new
    # 戻す
    xrxs_bp8_main
    # 可動カメラの解放
    $xcam = nil
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update update
  def update
    # 可動カメラのフレーム更新
    $xcam.update
    # 呼び戻す
    xrxs_bp8_update
  end
end



#------------------------------------------------------------------------------
#
#
#
#    ▽ Full-View システム ▽
#
#
#
#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias xrxs_bp8_initialize initialize
  def initialize
    # 呼び戻す
    xrxs_bp8_initialize
    # グラフィックスアレイを取得
    ga = XRXS_BP8::GA
    # ビューポート 0 を作成
    @viewport0 = Viewport.new(ga.x, ga.y, ga.width, ga.height)
    @viewport0.z  = 0
    # ビューポート 1 の設定を変更
    @viewport1.z += 1
    @viewport1.rect.height = 480
    # バトルバックスプライトを再作成 (ビューポート 0 を使用)
    @battleback_sprite.dispose
    @battleback_sprite = Sprite.new(@viewport0)
    @battleback_name = ""
    # バトルバックのフレーム更新
    update_battleback
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  alias xrxs_bp8_dispose dispose
  def dispose
    # 呼び戻す
    xrxs_bp8_dispose
    # ビューポートを解放
    @viewport0.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update update
  def update
    # フレーム更新 (バトルバック)
    update_battleback
    # フレーム更新 (可動カメラ)
    update_xcam if defined? update_xcam
    # 呼び戻す
    xrxs_bp8_update
    # 画面のシェイク位置を設定
    @viewport0.ox = $game_screen.shake if @viewport0 != nil
  end
  #--------------------------------------------------------------------------
  # ○ フレーム更新 (バトルバック)
  #--------------------------------------------------------------------------
  def update_battleback
    # バトルバックのファイル名が現在のものと違う場合
    if @battleback_name != $game_temp.battleback_name
      @battleback_name = $game_temp.battleback_name
      if @battleback_sprite.bitmap != nil
        @battleback_sprite.bitmap.dispose
      end
      # グラフィックスアレイを取得
      ga = XRXS_BP8::GA
      # バトルバックの取得と拡大
      bg  = RPG::Cache.battleback(@battleback_name)
      xga  = Bitmap.new(ga.width, ga.height)
      xga.stretch_blt(xga.rect, bg, bg.rect)
      # XGAをバトルバックに設定
      @battleback_sprite.bitmap = xga
    end
  end
end
#==============================================================================
# ---「戦闘中の"画面"アニメの位置修正」モジュール ---
#==============================================================================
module XRXS_FullScreen_AnimationOffset
  def animation_set_sprites(sprites, cell_data, position)
    super
    for i in 0..15
      sprite = sprites[i]
      pattern = cell_data[i, 0]
      if sprite == nil or pattern == nil or pattern == -1
        next
      end
      if position == 3
        if self.viewport != nil
          sprite.y = 160 # この一行だけ変更
        end
      end
    end
  end
end
class Sprite_Battler < RPG::Sprite
  include XRXS_FullScreen_AnimationOffset
end


Otra opción es hacer que la cámara no enfoque a los actores, solo a los enemigos tal y como esté, pero en cambio éstos se queden fijados en el battleback. Marea bastante menos así que considéralo, pero ese salto sigue estando ahí porque es culpa del script original.

Sería éste código

Código:
# La 'vue' du joueur n'est plus fixe pendant les combats.
# Krazplay
#==============================================================================
# □ カスタマイズポイント
#==============================================================================
module XRXS_BP8
  #
  # カメラ移動スピード基準値 (基本的に小さいほうが速い)
  #
  SPEED = 8
  #
  # XGAサイズを設定
  #
  GA = Rect.new(-192, -144, 1024, 768)
end
#------------------------------------------------------------------------------
# ▽ 可動カメラの動き設定
#------------------------------------------------------------------------------
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● パーティコマンドフェーズ開始
  #--------------------------------------------------------------------------
  alias xrxs_bp8_start_phase2 start_phase2
  def start_phase2
    # カメラ:センタリング
    $xcam.centering
    # 呼び戻す
    xrxs_bp8_start_phase2
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (アクターコマンドフェーズ : エネミー選択)
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update_phase3_enemy_select update_phase3_enemy_select
  def update_phase3_enemy_select
    # 現在選択中のエネミーを取得
    enemy = $game_troop.enemies[@enemy_arrow.index]
    # カメラ:注目
    #$xcam.watch_at(enemy.x)
    $xcam.watch(enemy)
    # 戻す
    xrxs_bp8_update_phase3_enemy_select
  end
  #--------------------------------------------------------------------------
  # ● エネミー選択終了
  #--------------------------------------------------------------------------
  alias xrxs_bp8_end_enemy_select end_enemy_select
  def end_enemy_select
    # カメラ:センタリング
    $xcam.centering
    # 呼び戻す
    xrxs_bp8_end_enemy_select
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update_phase4_step2 update_phase4_step2
  def update_phase4_step2
    # 戻す
    xrxs_bp8_update_phase4_step2
    # ステップ 3 に移行する予定の場合
    if @phase4_step == 3
      # アクティブなバトラーがバトルフィールドに居る場合
      if @active_battler.in_battlefield?
        # カメラ:注目
        $xcam.watch(@active_battler)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 3 : 行動側アニメーション)
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update_phase4_step3 update_phase4_step3
  def update_phase4_step3
    # 戻す
    xrxs_bp8_update_phase4_step3
    # カメラターゲットとなりうるターゲットの X 平均値を計算
    x_average  = 0
    number    = 0
    cam_target = nil
    for target in @target_battlers
      if target.in_battlefield?
        x_average += target.x
        number    += 1
        cam_target = target
      end
    end
    # カメラターゲットが見つかった場合
    if number > 0
      # もし対象アニメが「位置:画面」の場合
      animation = $data_animations[@animation2_id]
      if animation != nil and animation.position == 3
        # カメラ:センタリング
        $xcam.centering
        # カメラ:ズームアウト
        $xcam.zoomout
      elsif number == 1
        # カメラ:注目
        $xcam.watch(cam_target)
      else
        # カメラ:指定 X 位置を注目
        $xcam.watch_at(x_average / number)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● アフターバトルフェーズ開始
  #--------------------------------------------------------------------------
  alias xrxs_bp8_start_phase5 start_phase5
  def start_phase5
    # カメラ:センタリング
    $xcam.centering
    # 呼び戻す
    xrxs_bp8_start_phase5
  end
end
#------------------------------------------------------------------------------
# カスタマイズポイントここまで
#==============================================================================

#------------------------------------------------------------------------------
#
#
#
#    ▽ 可動カメラ システム ▽
#
#
#
#==============================================================================
# □ XCam
#------------------------------------------------------------------------------
#  可動カメラを扱うクラスです。
#==============================================================================
class XCam
  #--------------------------------------------------------------------------
  # ○ 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader  :x
  attr_reader  :y
  attr_reader  :z
  attr_accessor :x_destination
  attr_accessor :y_destination
  attr_accessor :z_destination
  attr_accessor :watch_battler
  attr_accessor :freeze_count
  #--------------------------------------------------------------------------
  # ○ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    # カメラ初期位置決定
    @x = 320
    @y = 240
    @z = 295
    # カメラ:センタリング
    self.centering
    # 初期化
    @freeze_count = 0
  end
  #--------------------------------------------------------------------------
  # ○ フレーム更新
  #--------------------------------------------------------------------------
  def update
    @moved = false
    # カメラ位置の更新
    if @freeze_count > 0
      # フリーズカウントを減らす
      @freeze_count -= 1
    else
      # スピードの取得
      speed = XRXS_BP8::SPEED
      # カメラ: Z 座標 (優先)
      z_dest = @z_destination
      if @z != z_dest
        @z = slide(@z, z_dest, 1, 74, 296)
        @moved = true
      end
      # カメラ: X 座標
      x_dest = @watch_battler == nil ? @x_destination : @watch_battler.x
      if @x != x_dest
        maximum = 192 * (296 - @z) / 111 + 320
        minimum = 640 - maximum
        @x = slide(@x, x_dest, 8, minimum, maximum)
        @moved = true
      end
      # カメラ: Y 座標
      y_dest = @watch_battler == nil ? @y_destination : 88 + @watch_battler.y/2
      if @y != y_dest
        maximum = 164 * (296 - @z) / 111 + 240
        minimum = 480 - maximum
        @y = slide(@y, y_dest, 4, minimum, maximum)
        @moved = true
      end
    end
  end
  #--------------------------------------------------------------------------
  # ○ スライド (現在地・目的地から行くべき現在地を返す)
  #--------------------------------------------------------------------------
  def slide(from, to, move_min, to_min, to_max)
    # 移動距離を計算
    distance = (to - from).abs
    # 結果を判別
    if distance < move_min
      result = to
    else
      sign  = from > to ? -1 : 1
      result = from + sign * [distance / XRXS_BP8::SPEED, move_min].max
    end
    # 範囲によって返却
    return [[result, to_min].max, to_max].min
  end
  #--------------------------------------------------------------------------
  # ○ 動いたかどうか?
  #--------------------------------------------------------------------------
  def moved?
    return @moved
  end
  #--------------------------------------------------------------------------
  # ○ センタリング
  #--------------------------------------------------------------------------
  def centering
    @watch_battler = nil
    @x_destination = 320
    @y_destination = 240
    @z_destination = 185
  end
  #--------------------------------------------------------------------------
  # ○ ズームアウト
  #--------------------------------------------------------------------------
  def zoomout
    @z_destination = 222
  end
  #--------------------------------------------------------------------------
  # ○ バトラーを注目
  #--------------------------------------------------------------------------
  def watch(battler)
    @watch_battler = battler
    @z_destination = 176
  end
  #--------------------------------------------------------------------------
  # ○ 指定 X 位置を注目
  #--------------------------------------------------------------------------
  def watch_at(x)
    @watch_battler = nil
    @x_destination =  x
    @y_destination = 240
    @z_destination = 185
  end
end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # ○ 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader  :x                        # バトルフィールド 横 位置(+が右 )
  attr_reader  :y                        # バトルフィールド 高さ 位置(+が下 )
  attr_reader  :z                        # バトルフィールド奥行き位置(+が手前)
  attr_accessor :zoom                    # 現在のズーム倍率
  #--------------------------------------------------------------------------
  # ○ バトルフィールド上に居るか?
  #--------------------------------------------------------------------------
  def in_battlefield?
    return false
  end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ○ バトルフィールド上に居るか? [オーバーライド]
  #--------------------------------------------------------------------------
  def in_battlefield?
    return true
  end
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias xrxs_bp8_initialize initialize
  def initialize(troop_id, member_index)
    # 初期化
    @z    = 0
    @zoom = 1.00
    # 呼び戻す
    xrxs_bp8_initialize(troop_id, member_index)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 X 座標の取得
  #--------------------------------------------------------------------------
  alias x screen_x
  def screen_x
    return self.x if $xcam == nil
    return 320 + (self.x - 320) * self.zoom + (320 - $xcam.x)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 Y 座標の取得
  #--------------------------------------------------------------------------
  alias y screen_y
  def screen_y
    return self.y if $xcam == nil
    return 240 + (self.y - 240) * self.zoom + (240 - $xcam.y)
  end
end

#==============================================================================
# ■ Game_Actor # Wecoc Edit 3
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ○ バトルフィールド上に居るか? [オーバーライド]
  #--------------------------------------------------------------------------
  # def in_battlefield?
  #  return true
  # end
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias xrxs_bp8_initialize initialize
  def initialize(*args)
    # 初期化
    @z    = 0
    @zoom = 1.00
    # 呼び戻す
    xrxs_bp8_initialize(*args)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 X 座標の取得
  #--------------------------------------------------------------------------
  alias x screen_x
  def screen_x
    return self.x if $xcam == nil
    return 320 + (self.x - 320) * self.zoom + (320 - $xcam.x)
  end
  #--------------------------------------------------------------------------
  # ● バトル画面 Y 座標の取得
  #--------------------------------------------------------------------------
  alias y screen_y
  def screen_y
    return self.y if $xcam == nil
    return 240 + (self.y - 240) * self.zoom + (240 - $xcam.y)
  end
end

#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ○ フレーム更新 (可動カメラ)
  #--------------------------------------------------------------------------
  def update_xcam
    # カメラ位置が動いた場合
    if $xcam.moved?
      # カメラ位置からズーム率を計算
      zoom = 185.00 / $xcam.z
      # 背景の設定更新
      @battleback_sprite.zoom_x = zoom
      @battleback_sprite.zoom_y = zoom
      @battleback_sprite.x      = -($xcam.x - 320) * zoom - 512 * (zoom - 1)
      @battleback_sprite.y      = -($xcam.y - 240) * zoom - 384 * (zoom - 1)
    end
  end
end
#==============================================================================
# --- バトラースプライト・可動カメラ適用 ---
#==============================================================================
module XRXS_Cam_Deal
  def update
    # 呼び戻す
    super
    # バトラーがバトルフィールドにいない場合は終了
    return if @battler == nil # or not @battler.in_battlefield? # Wecoc Edit 1
    # カメラ Z 座標の取得
    cam_z = $xcam == nil ? 185 : $xcam.z
    #
    # ズーム率の変更
    # ( スプライト座標の再設定は元のメソッドに任せる )
    #
    zoom = 1.00 * 185 / (cam_z - @battler.z)
    self.zoom_x  = zoom
    self.zoom_y  = zoom
    @battler.zoom = zoom
  end
end
class Sprite_Battler < RPG::Sprite
  include XRXS_Cam_Deal
end
#==============================================================================
# --- ダメージフォロー モジュール ---
#==============================================================================
module XRXS_DamageFollow
  def update
    # 呼び戻す
    super
    # カメラが存在しない場合
    return if $xcam == nil
    # バトラーが nil またはバトルフィールドにいない場合
    return if @battler == nil # or not @battler.in_battlefield? # Wecoc Edit 2
    # 直前カメラ位置から、移動量を算出
    x_moved = @last_cam_x == nil ? 0 : $xcam.x - @last_cam_x
    y_moved = @last_cam_y == nil ? 0 : $xcam.y - @last_cam_y
    # ダメージスプライト配列の作成
    damage_sprites  = [@_damage_sprite]
    damage_sprites += @damage_sprites if @damage_sprites != nil
    # カメラをフォロー
    for sprite in damage_sprites
      next if sprite == nil
      next if sprite.disposed?
      sprite.x -= x_moved
      sprite.y -= y_moved
    end
    # 直前カメラ位置の保持
    @last_cam_x = $xcam.x
    @last_cam_y = $xcam.y
  end
end
class Sprite_Battler < RPG::Sprite
  include XRXS_DamageFollow
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias xrxs_bp8_main main
  def main
    # 可動カメラの生成
    $xcam = XCam.new
    # 戻す
    xrxs_bp8_main
    # 可動カメラの解放
    $xcam = nil
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update update
  def update
    # 可動カメラのフレーム更新
    $xcam.update
    # 呼び戻す
    xrxs_bp8_update
  end
end



#------------------------------------------------------------------------------
#
#
#
#    ▽ Full-View システム ▽
#
#
#
#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias xrxs_bp8_initialize initialize
  def initialize
    # 呼び戻す
    xrxs_bp8_initialize
    # グラフィックスアレイを取得
    ga = XRXS_BP8::GA
    # ビューポート 0 を作成
    @viewport0 = Viewport.new(ga.x, ga.y, ga.width, ga.height)
    @viewport0.z  = 0
    # ビューポート 1 の設定を変更
    @viewport1.z += 1
    @viewport1.rect.height = 480
    # バトルバックスプライトを再作成 (ビューポート 0 を使用)
    @battleback_sprite.dispose
    @battleback_sprite = Sprite.new(@viewport0)
    @battleback_name = ""
    # バトルバックのフレーム更新
    update_battleback
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  alias xrxs_bp8_dispose dispose
  def dispose
    # 呼び戻す
    xrxs_bp8_dispose
    # ビューポートを解放
    @viewport0.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias xrxs_bp8_update update
  def update
    # フレーム更新 (バトルバック)
    update_battleback
    # フレーム更新 (可動カメラ)
    update_xcam if defined? update_xcam
    # 呼び戻す
    xrxs_bp8_update
    # 画面のシェイク位置を設定
    @viewport0.ox = $game_screen.shake if @viewport0 != nil
  end
  #--------------------------------------------------------------------------
  # ○ フレーム更新 (バトルバック)
  #--------------------------------------------------------------------------
  def update_battleback
    # バトルバックのファイル名が現在のものと違う場合
    if @battleback_name != $game_temp.battleback_name
      @battleback_name = $game_temp.battleback_name
      if @battleback_sprite.bitmap != nil
        @battleback_sprite.bitmap.dispose
      end
      # グラフィックスアレイを取得
      ga = XRXS_BP8::GA
      # バトルバックの取得と拡大
      bg  = RPG::Cache.battleback(@battleback_name)
      xga  = Bitmap.new(ga.width, ga.height)
      xga.stretch_blt(xga.rect, bg, bg.rect)
      # XGAをバトルバックに設定
      @battleback_sprite.bitmap = xga
    end
  end
end
#==============================================================================
# ---「戦闘中の"画面"アニメの位置修正」モジュール ---
#==============================================================================
module XRXS_FullScreen_AnimationOffset
  def animation_set_sprites(sprites, cell_data, position)
    super
    for i in 0..15
      sprite = sprites[i]
      pattern = cell_data[i, 0]
      if sprite == nil or pattern == nil or pattern == -1
        next
      end
      if position == 3
        if self.viewport != nil
          sprite.y = 160 # この一行だけ変更
        end
      end
    end
  end
end

class Sprite_Battler < RPG::Sprite
  include XRXS_FullScreen_AnimationOffset
end


(Busca Wecoc en los scripts para saber qué cambié)

Wecoc
Administrador
Administrador



Créditos 8265

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: Editar un script.

Mensaje por Ledai el 2014-12-22, 20:41

El salto; ¿te refieres a ese movimiento que hace después de seleccionar lo que vas ha hacer??
Bueno, si tal vez no se puede quitar, se podría hacer que lo hiciera más lento, como si te mostrara al personaje que va a actuar y luego pasara ha enfocar al enemigo al que atacará??
Igual pero más lento?

¡¡De todos modos, muchas gracias por la ayuda, era lo que necesitaba!!!

Edt: me gusta que se enfoque a los actores también, pero como dices, el salto es molesto; si sabes arreglarlo hazlo en el que también enfoca a los protas, si no pues así me lo quedaré...

Edt2: Debe de ser que al enfocar, durante la selección de ataque, no registra las ultimas coordenadas y al mostrarte el ataque elegido sobre el enemigo, antes regresa a la posición inicial y pasa a enfocar de nuevo. Es como si repitiera un paso innecesario pues el enemigo ya está enfocado al seleccionarlo en las opciones... No sé, soy inexperta XDD

Ledai
Aventurero
Aventurero

0/3

Créditos 1368

Gracias : 126

http://ahurallg.blogspot.com.es/

Volver arriba Ir abajo

RPG Maker XP Re: Editar un script.

Mensaje por Contenido patrocinado Hoy a las 18:18


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

Permisos de este foro:
No puedes responder a temas en este foro.