Zoom en batalla
Aug 14, 2014 15:18:32 GMT -4
Post por Night Shade en Aug 14, 2014 15:18:32 GMT -4
Nombre: Zoom en batalla
Autor: ?
Explicación: Este script hace un efecto de zoom durante la batalla al momento de atacar o apuntar a un enemigo.
Imágenes: No necesarias.
Script:
Autor: ?
Explicación: Este script hace un efecto de zoom durante la batalla al momento de atacar o apuntar a un enemigo.
Imágenes: No necesarias.
Script:
# Momo Camera Script
# Zoom battle effect
# Modificado por Soramaro para La Compañia Nodws
# 基本的に導入するだけで大丈夫です。
#
# 2005.5.18 バグ修正
# Arrow_Actor 修正
# self.enemy → self.actor
# アホなミスを犯してました。
#
# 2005.11.5 更新
# 設定項目を増やしました。
# いくつかの項目は、デフォルト(アクターがバトルフィールド上にいない)状態だと
# 変になるので、適切設定してください。
# (デフォ状態でtrueにするとマズイものには★をつけてます)
module MoMo_Camera
# カメラの移動にかけるフレーム数の初期値
MOVE_SPEED_INI = 8
# カメラのズームにかけるフレーム数の初期値
ZOOM_SPEED_INI = 8
# バトルバック引き伸ばし率追加値(0.0で引き伸ばし無し)
BATTLEBACK_ZOOM = 1.0
# アクターもカメラの影響を受けるようにする ★
# (★のついている項目を true にする場合などはこちらも true にして下さい)
CAMERA_UPDATE_ACTOR = false
# エネミー通常攻撃時、行動者を注視する
ACTIVE_LOOK_ENEMY_NOMAL_ATTACK = true
# エネミー防御時、行動者を注視する
ACTIVE_LOOK_ENEMY_GUARD = true
# エネミー逃走時、行動者を注視する
ACTIVE_LOOK_ENEMY_ESCAPE = true
# エネミースキル使用時、行動者を注視する
ACTIVE_LOOK_ENEMY_SKILL = true
# エネミー選択時、選択エネミーを注視する
ACTIVE_LOOK_ENEMY_SELECT = true
# エネミー通常攻撃時、対象者を注視する(対象がアクターの時) ★
TARGET_LOOK_ENEMY_NOMAL_ATTACK_TR_ACTOR = false
# エネミー通常攻撃時、対象者を注視する(対象がエネミーの時)
TARGET_LOOK_ENEMY_NOMAL_ATTACK_TR_ENEMY = true
# エネミースキル使用時、対象者を注視する(対象がアクターの時) ★
TARGET_LOOK_ENEMY_SKILL_TR_ACTOR = false
# エネミースキル使用時、対象者を注視する(対象がエネミーの時)
TARGET_LOOK_ENEMY_SKILL_TR_ENEMY = true
# エネミークリティカル発生時は問答無用で対象を注視する(対象がアクターの時) ★
CLITICAL_LOOK_ENEMY_TR_ACTOR = false
# エネミークリティカル発生時は問答無用で対象を注視する(対象がエネミーの時)
CLITICAL_LOOK_ENEMY_TR_ENEMY = true
# エネミークリティカル発生時のズーム倍率(ズームしたくない時は0.0を設定)
CRITICAL_ZOOM_ENEMY = 0.3
# アクター通常攻撃時、行動者を注視する ★
ACTIVE_LOOK_ACTOR_NOMAL_ATTACK = false
# アクター防御時、行動者を注視する ★
ACTIVE_LOOK_ACTOR_GUARD = false
# アクター逃走時、行動者を注視する ★
ACTIVE_LOOK_ACTOR_ESCAPE = false
# アクタースキル使用時、行動者を注視する ★
ACTIVE_LOOK_ACTOR_SKILL = false
# アクターアイテム使用時、行動者を注視する ★
ACTIVE_LOOK_ACTOR_ITEM = false
# アクター選択時、選択アクターを注視する ★
ACTIVE_LOOK_ACTOR_SELECT = false
# アクター通常攻撃時、対象者を注視する(対象がアクターの時) ★
TARGET_LOOK_ACTOR_NOMAL_ATTACK_TR_ACTOR = false
# アクター通常攻撃時、対象者を注視する(対象がエネミーの時)
TARGET_LOOK_ACTOR_NOMAL_ATTACK_TR_ENEMY = true
# アクタースキル使用時、対象者を注視する(対象がアクターの時) ★
TARGET_LOOK_ACTOR_SKILL_TR_ACTOR = false
# アクタースキル使用時、対象者を注視する(対象がエネミーの時)
TARGET_LOOK_ACTOR_SKILL_TR_ENEMY = true
# アクターアイテム使用時、対象者を注視する(対象がアクターの時) ★
TARGET_LOOK_ACTOR_ITEM_TR_ACTOR = false
# アクターアイテム使用時、対象者を注視する(対象がエネミーの時)
TARGET_LOOK_ACTOR_ITEM_TR_ENEMY = true
# アクタークリティカル発生時は問答無用で対象を注視する(対象がアクターの時) ★
CLITICAL_LOOK_ACTOR_TR_ACTOR = true
# アクタークリティカル発生時は問答無用で対象を注視する(対象がエネミーの時)
CLITICAL_LOOK_ACTOR_TR_ENEMY = true
# アクタークリティカル発生時のズーム倍率(ズームしたくない時は0.0を設定)
CRITICAL_ZOOM_ACTOR = 0.3
# エネミースリップダメージ時に注視する
LOOK_ENEMY_SLIP_DAMAGE = true
# アクタースリップダメージ時に注視する ★
LOOK_ACTOR_SLIP_DAMAGE = false
# コマンド入力時に、アクターを注視 ★
LOOK_ACTOR_COMMAND_INPUT = false
# 行動終了毎にカメラをセンタリング
EACH_ACTION_CENTERING = true
# 全体攻撃時のズーム率
ALL_ATTACK_ZOOM = 0.6
end
class Battle_Camera
attr_accessor
attr_accessor :y
attr_accessor :zoom
attr_accessor :new_x
attr_accessor :new_y
attr_accessor :new_zoom
def initialize
@x = 320
@y = 160
@zoom = 1.0
@new_x = @x
@new_y = @y
@dis_x = 0
@dis_y = 0
@dis_zoom = 0.0
@new_zoom = @zoom
@move_speed = MoMo_Camera::MOVE_SPEED_INI
@zoom_speed = MoMo_Camera::ZOOM_SPEED_INI
end
# 新しい移動先設定
def new_x=(newx)
@new_x = newx
@dis_x = (@x - @new_x).abs
end
def new_y=(newy)
@new_y = newy
@dis_y = (@y - @new_y).abs
end
def new_zoom=(newz)
@new_zoom = newz
@dis_zoom = (@zoom - @new_zoom).abs
end
# カメラセット
def set(x, y, zoom=nil, speed=nil)
unless speed.nil?
@move_speed = speed
@zoom_speed = speed
end
self.new_x = x
self.new_y = y
self.new_zoom = zoom unless zoom.nil?
end
# カメラを真ん中に
def center(zoom=1.0)
self.new_x = 320
self.new_y = 160
self.new_zoom = zoom
end
# バトラー注視
def battler_look(battler)
hei = get_battler_height(battler)
zoom = [160.0 / hei, 0.8].max
self.new_zoom = zoom
self.new_x = battler.screen_x
self.new_y = (battler.screen_y - hei / 2 * [[@new_zoom, 1.0].max, 1.5].min).truncate
end
# バトラーの計算色々
def battler_x_plus(battler)
dis = battler.screen_x - @x
val = dis * (@zoom - 1.0)
return val
end
def pos_battler_x(battler)
return battler.screen_x - (@x - 320)
end
def battler_x(battler)
return pos_battler_x(battler) + battler_x_plus(battler)
end
def battler_y_plus(battler)
dis = battler.screen_y - @y
val = dis * (@zoom - 1.0)
return val
end
def pos_battler_y(battler)
return battler.screen_y - (@y - 160)
end
def battler_y(battler)
return pos_battler_y(battler) + battler_y_plus(battler)
end
# 更新
def update
if @x != @new_x
if @new_x - @x > 0
@x = [@x + move_speed_x, @new_x].min
else
@x = [@x - move_speed_x, @new_x].max
end
end
if @y != @new_y
if @new_y - @y > 0
@y = [@y + move_speed_y, @new_y].min
else
@y = [@y - move_speed_y, @new_y].max
end
end
if @zoom != @new_zoom
if @new_zoom - @zoom > 0
@zoom = [@zoom + zoom_speed, @new_zoom].min
else
@zoom = [@zoom - zoom_speed, @new_zoom].max
end
end
end
# 移動距離計算
def move_speed_x
return [(@dis_x / @move_speed).to_i, 1].max
end
def move_speed_y
return [(@dis_y / @move_speed).to_i, 1].max
end
# ズーム倍率計算
def zoom_speed
return [(@dis_zoom / @zoom_speed), 0.01].max
end
def get_battler_height(battler)
bammy = get_battler_bmp(battler)
return bammy.height
end
def get_battler_bmp(battler)
return RPG::Cache.battler(battler.battler_name, battler.battler_hue)
end
def move?
return (@x != @new_x or @y != @new_y or @zoom != @new_zoom)
end
end
#==============================================================================
# ■ Spriteset_Battle
#------------------------------------------------------------------------------
# バトル画面のスプライトをまとめたクラスです。このクラスは Scene_Battle クラ
# スの内部で使用されます。
#==============================================================================
class Spriteset_Battle
attr_accessor :battle_camera
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias spriteset_battle_battle_camera_initialize initialize
def initialize
@battle_camera = Battle_Camera.new
spriteset_battle_battle_camera_initialize
@battleback_sprite.ox = @viewport1.rect.width / 2
@battleback_sprite.oy = @viewport1.rect.height / 2
camera_battleback_scroll
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias spriteset_battle_battle_camera_update update
def update
spriteset_battle_battle_camera_update
camera_update
end
# 更新するバトラーの指定
def camera_update_battlers
if MoMo_Camera::CAMERA_UPDATE_ACTOR
return @enemy_sprites + @actor_sprites
else
return @enemy_sprites
end
end
# カメラ更新
def camera_update
@battle_camera.update
camera_battleback_scroll
camera_battleback_zoom
camera_battler_update
end
# カメラ更新:バトルバックスクロール
def camera_battleback_scroll
# バトルバックの計算色々
view_width = @viewport1.rect.width / 2
view_height = @viewport1.rect.height / 2
@battleback_sprite.x = view_width + (view_width - @battle_camera.x) * @battle_camera.zoom
@battleback_sprite.y = view_height + (view_height - @battle_camera.y) * @battle_camera.zoom
end
# カメラ更新:バトルバックズーム
def camera_battleback_zoom
@battleback_sprite.zoom_x = @battle_camera.zoom + MoMo_Camera::BATTLEBACK_ZOOM
@battleback_sprite.zoom_y = @battle_camera.zoom + MoMo_Camera::BATTLEBACK_ZOOM
end
# カメラ更新:バトラースプライト更新
def camera_battler_update
for sprite in camera_update_battlers
battler_sprite_zoom(sprite)
battler_sprite_scroll(sprite)
end
end
# カメラ更新:バトラースプライト更新:バトラースプライトスクロール
def battler_sprite_scroll(sprite)
if !sprite.nil? and !sprite.battler.nil?
sprite.x = @battle_camera.battler_x(sprite.battler)
sprite.y = @battle_camera.battler_y(sprite.battler)
end
end
# カメラ更新:バトラースプライト更新:バトラースプライトズーム
def battler_sprite_zoom(sprite)
unless sprite.nil?
sprite.zoom_x = @battle_camera.zoom
sprite.zoom_y = @battle_camera.zoom
end
end
end
class Arrow_Actor < Arrow_Base
attr_accessor :camera
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias arrow_actor_battle_camera_update update
def update
arrow_actor_battle_camera_update
# スプライトの座標を再設定
if self.actor != nil and @camera != nil
self.x = @camera.battler_x(self.actor)
self.y = @camera.battler_y(self.actor)
end
end
end
class Arrow_Enemy < Arrow_Base
attr_accessor :camera
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias arrow_enemy_battle_camera_update update
def update
arrow_enemy_battle_camera_update
# スプライトの座標を再設定
if self.enemy != nil and @camera != nil
self.x = @camera.battler_x(self.enemy)
self.y = @camera.battler_y(self.enemy)
end
end
end
class Scene_Battle
def camera
return @spriteset.battle_camera
end
# 行動側アニメーション中のカメラワーク判定
def camera_action_judge_active
if @active_battler.is_a?(Game_Enemy)
case @active_battler.current_action.kind
when 0
camera_action_judge_active_basic_enemy
when 1
camera_action_judge_active_skill_enemy
when 2
camera_action_judge_active_item_enemy
end
else
case @active_battler.current_action.kind
when 0
camera_action_judge_active_basic_actor
when 1
camera_action_judge_active_skill_actor
when 2
camera_action_judge_active_item_actor
end
end
end
# 行動側アニメ中のカメラワーク(エネミー):基本
def camera_action_judge_active_basic_enemy
case @active_battler.current_action.basic
when 0
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ENEMY_NOMAL_ATTACK
when 1
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ENEMY_GUARD
when 2
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ENEMY_ESCAPE
end
end
# 行動側アニメ中のカメラワーク(エネミー):スキル
def camera_action_judge_active_skill_enemy
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ENEMY_SKILL
end
# 行動側アニメ中のカメラワーク(エネミー):アイテム(一応実装)
def camera_action_judge_active_item_enemy
camera.battler_look(@active_battler)
end
# 行動側アニメ中のカメラワーク(アクター):基本
def camera_action_judge_active_basic_actor
case @active_battler.current_action.basic
when 0
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ACTOR_NOMAL_ATTACK
when 1
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ACTOR_GUARD
when 2
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ACTOR_ESCAPE
end
end
# 行動側アニメ中のカメラワーク(アクター):スキル
def camera_action_judge_active_skill_actor
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ACTOR_SKILL
end
# 行動側アニメ中のカメラワーク(アクター):アイテム
def camera_action_judge_active_item_actor
camera.battler_look(@active_battler) if MoMo_Camera::ACTIVE_LOOK_ACTOR_ITEM
end
# 対象側アニメーション中のカメラワーク判定
def camera_action_judge_target
if @active_battler.is_a?(Game_Enemy)
case @active_battler.current_action.kind
when 0
camera_action_judge_target_basic_enemy
when 1
camera_action_judge_target_skill_enemy
when 2
camera_action_judge_target_item_enemy
end
else
case @active_battler.current_action.kind
when 0
camera_action_judge_target_basic_actor
when 1
camera_action_judge_target_skill_actor
when 2
camera_action_judge_target_item_actor
end
end
end
# 対象側アニメ中のカメラワーク(エネミー):基本
def camera_action_judge_target_basic_enemy
case @active_battler.current_action.basic
when 0
camera_action_judge_target_basic_enemy_attack
when 1
camera_action_judge_target_basic_enemy_guard
when 2
camera_action_judge_target_basic_enemy_escape
when 3
camera_action_judge_target_basic_enemy_none
end
end
# 対象側アニメ中のカメラワーク(エネミー):基本:攻撃
def camera_action_judge_target_basic_enemy_attack
if @target_battlers.size > 1
camera.center(MoMo_Camera::ALL_ATTACK_ZOOM)
else
if @target_battlers[0].is_a?(Game_Actor)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ENEMY_NOMAL_ATTACK_TR_ACTOR
if @target_battlers[0].critical
if MoMo_Camera::CLITICAL_LOOK_ENEMY_TR_ACTOR
camera.battler_look(@target_battlers[0])
end
camera.new_zoom = camera.new_zoom + MoMo_Camera::CRITICAL_ZOOM_ENEMY
end
elsif @target_battlers[0].is_a?(Game_Enemy)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ENEMY_NOMAL_ATTACK_TR_ENEMY
if @target_battlers[0].critical
if MoMo_Camera::CLITICAL_LOOK_ENEMY_TR_ENEMY
camera.battler_look(@target_battlers[0])
end
camera.new_zoom = camera.new_zoom + MoMo_Camera::CRITICAL_ZOOM_ENEMY
end
else
camera.center
end
end
end
# 対象側アニメ中のカメラワーク(エネミー):基本:防御
def camera_action_judge_target_basic_enemy_guard
end
# 対象側アニメ中のカメラワーク(エネミー):基本:逃走
def camera_action_judge_target_basic_enemy_escape
end
# 対象側アニメ中のカメラワーク(エネミー):基本:なにもしない
def camera_action_judge_target_basic_enemy_none
end
# 対象側アニメ中のカメラワーク(エネミー):スキル
def camera_action_judge_target_skill_enemy
if @target_battlers.size > 1
camera.center(MoMo_Camera::ALL_ATTACK_ZOOM)
elsif @target_battlers.size == 1
if @target_battlers[0].is_a?(Game_Actor)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ENEMY_SKILL_TR_ACTOR
elsif @target_battlers[0].is_a?(Game_Enemy)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ENEMY_SKILL_TR_ENEMY
end
else
camera.center
end
end
# 対象側アニメ中のカメラワーク(エネミー):アイテム(一応実装)
def camera_action_judge_target_item_enemy
end
# 対象側アニメ中のカメラワーク(アクター):基本
def camera_action_judge_target_basic_actor
case @active_battler.current_action.basic
when 0
camera_action_judge_target_basic_actor_attack
when 1
camera_action_judge_target_basic_actor_guard
when 2
camera_action_judge_target_basic_actor_escape
when 3
camera_action_judge_target_basic_actor_none
end
end
# 対象側アニメ中のカメラワーク(アクター):基本:攻撃
def camera_action_judge_target_basic_actor_attack
if @target_battlers.size > 1
camera.center(MoMo_Camera::ALL_ATTACK_ZOOM)
else
if @target_battlers[0].is_a?(Game_Actor)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ACTOR_NOMAL_ATTACK_TR_ACTOR
if @target_battlers[0].critical
if MoMo_Camera::CLITICAL_LOOK_ACTOR_TR_ACTOR
camera.battler_look(@target_battlers[0])
end
camera.new_zoom = camera.new_zoom + MoMo_Camera::CRITICAL_ZOOM_ACTOR
end
elsif @target_battlers[0].is_a?(Game_Enemy)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ACTOR_NOMAL_ATTACK_TR_ENEMY
if @target_battlers[0].critical
if MoMo_Camera::CLITICAL_LOOK_ACTOR_TR_ENEMY
camera.battler_look(@target_battlers[0])
end
camera.new_zoom = camera.new_zoom + MoMo_Camera::CRITICAL_ZOOM_ACTOR
end
else
camera.center
end
end
end
# 対象側アニメ中のカメラワーク(エネミー):基本:防御
def camera_action_judge_target_basic_actor_guard
end
# 対象側アニメ中のカメラワーク(エネミー):基本:逃走
def camera_action_judge_target_basic_actor_escape
end
# 対象側アニメ中のカメラワーク(エネミー):基本:なにもしない
def camera_action_judge_target_basic_actor_none
end
# 対象側アニメ中のカメラワーク(アクター):スキル
def camera_action_judge_target_skill_actor
if @target_battlers.size > 1
camera.center(MoMo_Camera::ALL_ATTACK_ZOOM)
elsif @target_battlers.size == 1
if @target_battlers[0].is_a?(Game_Actor)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ACTOR_SKILL_TR_ACTOR
elsif @target_battlers[0].is_a?(Game_Enemy)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ACTOR_SKILL_TR_ENEMY
end
else
camera.center
end
end
# 対象側アニメ中のカメラワーク(アクター):アイテム
def camera_action_judge_target_item_actor
if @target_battlers.size > 1
camera.center(MoMo_Camera::ALL_ATTACK_ZOOM)
elsif @target_battlers.size == 1
if @target_battlers[0].is_a?(Game_Actor)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ACTOR_ITEM_TR_ACTOR
elsif @target_battlers[0].is_a?(Game_Enemy)
camera.battler_look(@target_battlers[0]) if MoMo_Camera::TARGET_LOOK_ACTOR_ITEM_TR_ENEMY
else
end
else
camera.center
end
end
#--------------------------------------------------------------------------
# ● パーティコマンドフェーズ開始
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_start_phase2 start_phase2
def start_phase2
camera.center
scene_battle_battle_camera_start_phase2
end
#--------------------------------------------------------------------------
# ● アフターバトルフェーズ開始
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_start_phase5 start_phase5
def start_phase5
camera.center
scene_battle_battle_camera_start_phase5
end
#--------------------------------------------------------------------------
# ● 次のアクターのコマンド入力へ
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_phase3_next_actor phase3_next_actor
def phase3_next_actor
scene_battle_battle_camera_phase3_next_actor
if @active_battler != nil and MoMo_Camera::LOOK_ACTOR_COMMAND_INPUT
camera.battler_look(@active_battler)
end
end
#--------------------------------------------------------------------------
# ● 前のアクターのコマンド入力へ
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_phase3_prior_actor phase3_prior_actor
def phase3_prior_actor
scene_battle_battle_camera_phase3_prior_actor
if @active_battler != nil and MoMo_Camera::LOOK_ACTOR_COMMAND_INPUT
camera.battler_look(@active_battler)
end
end
#--------------------------------------------------------------------------
# ● アクター選択開始
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_start_actor_select start_actor_select
def start_actor_select
scene_battle_battle_camera_start_actor_select
if MoMo_Camera::ACTIVE_LOOK_ACTOR_SELECT
@last_arrow_index = nil
@actor_arrow.camera = camera
elsif MoMo_Camera::LOOK_ACTOR_COMMAND_INPUT
camera.center
end
end
#--------------------------------------------------------------------------
# ● アクター選択終了
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_end_actor_select end_actor_select
def end_actor_select
scene_battle_battle_camera_end_actor_select
if MoMo_Camera::LOOK_ACTOR_COMMAND_INPUT
camera.battler_look(@active_battler)
else
camera.center
end
end
#--------------------------------------------------------------------------
# ● エネミー選択開始
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_start_enemy_select start_enemy_select
def start_enemy_select
scene_battle_battle_camera_start_enemy_select
if MoMo_Camera::ACTIVE_LOOK_ENEMY_SELECT
@last_arrow_index = nil
@enemy_arrow.camera = camera
elsif MoMo_Camera::LOOK_ACTOR_COMMAND_INPUT
camera.center
end
end
#--------------------------------------------------------------------------
# ● エネミー選択終了
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_end_enemy_select end_enemy_select
def end_enemy_select
scene_battle_battle_camera_end_enemy_select
if MoMo_Camera::LOOK_ACTOR_COMMAND_INPUT
camera.battler_look(@active_battler)
else
camera.center
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : アクター選択)
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_update_phase3_actor_select update_phase3_actor_select
def update_phase3_actor_select
scene_battle_battle_camera_update_phase3_actor_select
if MoMo_Camera::ACTIVE_LOOK_ACTOR_SELECT
if @actor_arrow != nil and (@last_arrow_index != @actor_arrow.index)
@last_arrow_index = @actor_arrow.index
camera.battler_look(@actor_arrow.actor)
end
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : エネミー選択)
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_update_phase3_enemy_select update_phase3_enemy_select
def update_phase3_enemy_select
scene_battle_battle_camera_update_phase3_enemy_select
if MoMo_Camera::ACTIVE_LOOK_ENEMY_SELECT
if @enemy_arrow != nil and (@last_arrow_index != @enemy_arrow.index)
@last_arrow_index = @enemy_arrow.index
camera.battler_look(@enemy_arrow.enemy)
end
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 1 : アクション準備)
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_update_phase4_step1 update_phase4_step1
def update_phase4_step1
unless @camera_move
if $game_temp.forcing_battler == nil and @action_battlers.size != 0 and
@action_battlers[0].slip_damage?
camera_action_judge_phase4_step1
end
@camera_move = true
end
return if camera.move?
@camera_move = false
scene_battle_battle_camera_update_phase4_step1
end
def camera_action_judge_phase4_step1
if @action_battlers[0].is_a?(Game_Enemy)
camera.battler_look(@action_battlers[0]) if MoMo_Camera::LOOK_ENEMY_SLIP_DAMAGE
elsif @action_battlers[0].is_a?(Game_Actor)
camera.battler_look(@action_battlers[0]) if MoMo_Camera::LOOK_ACTOR_SLIP_DAMAGE
end
end
#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 3 : 行動側アニメーション)
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_update_phase4_step3 update_phase4_step3
def update_phase4_step3
unless @camera_move
camera_action_judge_active
@camera_move = true
end
return if camera.move?
@camera_move = false
scene_battle_battle_camera_update_phase4_step3
end
#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 4 : 対象側アニメーション)
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_update_phase4_step4 update_phase4_step4
def update_phase4_step4
unless @camera_move
camera_action_judge_target
@camera_move = true
end
return if camera.move?
@camera_move = false
scene_battle_battle_camera_update_phase4_step4
end
#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 6 : リフレッシュ)
#--------------------------------------------------------------------------
alias scene_battle_battle_camera_update_phase4_step6 update_phase4_step6
def update_phase4_step6
scene_battle_battle_camera_update_phase4_step6
camera.center if MoMo_Camera::EACH_ACTION_CENTERING
end
end