Project1

标题: 怎样做出敌人呼吸,漂浮,闪烁的效果? [打印本页]

作者: mmmkly    时间: 2012-9-24 20:14
标题: 怎样做出敌人呼吸,漂浮,闪烁的效果?
怎样做出纵版敌人呼吸,漂浮,闪烁的效果?
就是战斗时敌人的战斗是动态的,呼吸时战斗图的高度不断变化,漂浮是战斗图的y轴不断变化,闪烁是透明度不断改变,就比如隐身怪物?

作者: hcm    时间: 2012-9-25 12:59
呼吸脚本倒是有:
  1. #◆◇◆◇◆  息遣いスクリプト ver 1・01  ◇◆◇◆◇
  2. # 全マスタースクリプト共通スクリプト
  3. #  サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/
  4. #   by みんと

  5. =begin

  6. 導入場所の注意
  7. エイリアスで構成されていますので、
  8. 出来るだけ下のほうに導入してください。

  9. ■ 更新履歴

  10. ○ ver 1.01(2009/03/10)
  11.   一部の挙動と仕様を変更

  12. 説明

  13. フロントビューのバトラーは静止画のため、
  14. ただ立ってるだけという感じが否めず、
  15. これまでは虚しいものでした。

  16. そこに、息遣いを擬似表現します。

  17. ゆっくりと微妙にバトラーが縦方向に小さくなって
  18. またゆっくり元に戻ることで息遣いを再現しました。

  19. =end

  20. #==============================================================================
  21. # ☆ MINTO
  22. #------------------------------------------------------------------------------
  23. #   様々なフラグを扱うメインモジュールです。
  24. #==============================================================================

  25. module MINTO
  26.   
  27.   # 息遣いクリプトを有効化 ( true で有効 / false で無効 )
  28.   RGSS["息遣い"] = true
  29.   
  30.   # アクターの息遣いフラグ(ON : true / OFF : false)
  31.   Actor_Standby = false
  32.   
  33. end

  34. if MINTO::RGSS["息遣い"] == true then

  35. #==============================================================================
  36. # ■ Sprite_Battler
  37. #------------------------------------------------------------------------------
  38. #  バトラー表示用のスプライトです。Game_Battler クラスのインスタンスを監視し、
  39. # スプライトの状態を自動的に変化させます。
  40. #==============================================================================

  41. class Sprite_Battler < RPG::Sprite
  42.   #--------------------------------------------------------------------------
  43.   # ● オブジェクト初期化
  44.   #    viewport : ビューポート
  45.   #    battler  : バトラー (Game_Battler)
  46.   #    alias    : initialize_MINTO_Standby
  47.   #--------------------------------------------------------------------------
  48.   alias :initialize_MINTO_Standby :initialize
  49.   def initialize(viewport, battler = nil)
  50.     # 元の処理を実行
  51.     initialize_MINTO_Standby(viewport, battler)
  52.     # 息遣い用のデータを設定
  53.     @zoom_turn = 0.1875 / 2
  54.     @zoom_count = 0
  55.     @zoom_puls = 100
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● フレーム更新(息遣い)
  59.   #--------------------------------------------------------------------------
  60.   def update_standby
  61.     # バトラーが無効な場合
  62.     if @battler == nil then
  63.       # メソッドを返す
  64.       return
  65.     end
  66.     # バトラーがアクターで、且つ息遣いが不可能な場合
  67.     if @battler.is_a?(Game_Actor) and MINTO::Actor_Standby == false then
  68.       # メソッドを返す
  69.       return
  70.     end
  71.     # アニメ表示中の場合
  72.     if @_animation_duration >= 1 then
  73.       # メソッドを返す
  74.       return
  75.     end
  76.     # コラプス実行中の場合
  77.     if @_collapse_duration >= 1 then
  78.       # メソッドを返す
  79.       return
  80.     end
  81.     # 初期更新の場合
  82.     unless @setup_standby
  83.       # ランダムに繰り返す
  84.       rand(16).times do
  85.         update_standby_zoom
  86.       end
  87.       # セットアップ済みフラグをオン
  88.       @setup_standby = true
  89.     end
  90.     # 息遣いズームを更新
  91.     update_standby_zoom
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● フレーム更新(息遣いズーム)
  95.   #--------------------------------------------------------------------------
  96.   def update_standby_zoom
  97.     # 息遣いカウントを加算
  98.     @zoom_count += 1
  99.     # カウントが 16 になった場合
  100.     if @zoom_count == 16 then
  101.       # カウントを初期化
  102.       @zoom_count = 0
  103.       # 息遣いターンを反転
  104.       @zoom_turn *= -1
  105.     end
  106.     # 息遣い用の補正値を設定
  107.     @zoom_puls -= @zoom_turn
  108.     # 縦のズームを更新する
  109.     self.zoom_y = (1.0 * @zoom_puls) / 100
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● フレーム更新
  113.   #    alias : update_MINTO_Standby
  114.   #--------------------------------------------------------------------------
  115.   alias :update_MINTO_Standby :update
  116.   def update
  117.     # 息遣いを更新
  118.     update_standby
  119.     # 元の処理を実行
  120.     update_MINTO_Standby
  121.   end
  122. end

  123. end
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1