#◆◇◆◇◆ 息遣いスクリプト ver 1・01 ◇◆◇◆◇ # 全マスタースクリプト共通スクリプト # サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/ # 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