#◆◇◆◇◆ 息遣いスクリプト ver 1・01 ◇◆◇◆◇
# 全マスタースクリプト共通スクリプト
# サポート掲示板 [url]http://www2.ezbbs.net/21/minto-aaa/[/url]
# by みんと
=begin
導入場所の注意
エイリアスで構成されていますので、
出来るだけ下のほうに導入してください。
■ 更新履歴
○ ver 1.01(2009/03/10)
一部の挙動と仕様を変更
説明
フロントビューのバトラーは静止画のため、
ただ立ってるだけという感じが否めず、
これまでは虚しいものでした。
そこに、息遣いを擬似表現します。
ゆっくりと微妙にバトラーが縦方向に小さくなって
またゆっくり元に戻ることで息遣いを再現しました。
=end
#==============================================================================
# ☆ MINTO
#------------------------------------------------------------------------------
# 様々なフラグを扱うメインモジュールです。
#==============================================================================
module MINTO
# 息遣いクリプトを有効化 ( true で有効 / false で無効 )
RGSS["息遣い"] = true
# アクターの息遣いフラグ(ON : true / OFF : false)
Actor_Standby = false
end
if MINTO::RGSS["息遣い"] == true then
#==============================================================================
# ■ Sprite_Battler
#------------------------------------------------------------------------------
# バトラー表示用のスプライトです。Game_Battler クラスのインスタンスを監視し、
# スプライトの状態を自動的に変化させます。
#==============================================================================
class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# viewport : ビューポート
# battler : バトラー (Game_Battler)
# alias : initialize_MINTO_Standby
#--------------------------------------------------------------------------
alias :initialize_MINTO_Standby :initialize
def initialize(viewport, battler = nil)
# 元の処理を実行
initialize_MINTO_Standby(viewport, battler)
# 息遣い用のデータを設定
@zoom_turn = 0.1875 / 2
@zoom_count = 0
@zoom_puls = 100
end
#--------------------------------------------------------------------------
# ● フレーム更新(息遣い)
#--------------------------------------------------------------------------
def update_standby
# バトラーが無効な場合
if @battler == nil then
# メソッドを返す
return
end
# バトラーがアクターで、且つ息遣いが不可能な場合
if @battler.is_a?(Game_Actor) and MINTO::Actor_Standby == false then
# メソッドを返す
return
end
# アニメ表示中の場合
if @_animation_duration >= 1 then
# メソッドを返す
return
end
# コラプス実行中の場合
if @_collapse_duration >= 1 then
# メソッドを返す
return
end
# 初期更新の場合
unless @setup_standby
# ランダムに繰り返す
rand(16).times do
update_standby_zoom
end
# セットアップ済みフラグをオン
@setup_standby = true
end
# 息遣いズームを更新
update_standby_zoom
end
#--------------------------------------------------------------------------
# ● フレーム更新(息遣いズーム)
#--------------------------------------------------------------------------
def update_standby_zoom
# 息遣いカウントを加算
@zoom_count += 1
# カウントが 16 になった場合
if @zoom_count == 16 then
# カウントを初期化
@zoom_count = 0
# 息遣いターンを反転
@zoom_turn *= -1
end
# 息遣い用の補正値を設定
@zoom_puls -= @zoom_turn
# 縦のズームを更新する
self.zoom_y = (1.0 * @zoom_puls) / 100
end
#--------------------------------------------------------------------------
# ● フレーム更新
# alias : update_MINTO_Standby
#--------------------------------------------------------------------------
alias :update_MINTO_Standby :update
def update
# 息遣いを更新
update_standby
# 元の処理を実行
update_MINTO_Standby
end
end
end