设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2121|回复: 2
打印 上一主题 下一主题

[已经解决] 如何实现进入战斗后将整个画面放大,然后又缩小?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
82 小时
注册时间
2013-3-17
帖子
63
跳转到指定楼层
1
发表于 2013-7-6 07:53:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
如题,就是类似于FF4的BOSS效果,画面整体放大,停留一段时间,然后缩回原来的大小。对画质没有要求,谢谢!

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

2
发表于 2013-7-14 22:53:29 | 只看该作者
脚本略长,800行,因为连同这个作者500行的主脚本都包含在内了………………

第522行之后是真正的战斗效果脚本,有两个开关需要设置的请填一下,不然默认会使用1、2号开关

第675行之后我稍微修改了一下,已实现你描述的放大、缩小的效果,你可以按照自己的需要来改放大、缩小效果的时间……

RUBY 代码复制
  1. #◆◇◆◇◆  マスタースクリプトVXA ver 1.00  ◇◆◇◆◇
  2. #  サポート掲示板 [url]http://www2.ezbbs.net/21/minto-aaa/[/url]
  3. #   by みんと
  4.  
  5. =begin
  6.  
  7. ■ 更新履歴
  8.  
  9. ○ Ver 1.00(2012/01/16)
  10. 公開
  11.  
  12. ■ 説明
  13.  
  14. 全てのみんとRGSSより上に導入してください。
  15. (基本的にシステム上部に導入してください)
  16.  
  17. これがないと全てのみんとRGSS3は動作いたしません。
  18.  
  19. =end
  20.  
  21. #==============================================================================
  22. # ☆ MINTO
  23. #------------------------------------------------------------------------------
  24. #   様々なフラグを扱うメインモジュールです。
  25. #==============================================================================
  26.  
  27. module MINTO
  28.  
  29.   # VXRGSSの導入環境ハッシュを初期化
  30.   RGSS = {}
  31.  
  32. end
  33.  
  34. #==============================================================================
  35. # ☆ MINTO_System
  36. #------------------------------------------------------------------------------
  37. #   様々な機能を扱うシステムモジュールです。
  38. #==============================================================================
  39.  
  40. module MINTO_System
  41.   #--------------------------------------------------------------------------
  42.   # ● 開始処理
  43.   #--------------------------------------------------------------------------
  44.   def start
  45.     @tone_rate = 0
  46.     # シーンスプライトを作成
  47.     @scene_sprite = Sprite_Base.new
  48.     # スーパークラスを実行
  49.     super
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● トランジション実行
  53.   #--------------------------------------------------------------------------
  54.   def perform_transition
  55.     # スーパークラスを実行
  56.     super
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 開始後処理
  60.   #--------------------------------------------------------------------------
  61.   def post_start
  62.     # スーパークラスを実行
  63.     super
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● フレーム更新
  67.   #--------------------------------------------------------------------------
  68.   def update
  69.     # シーンスプライトを更新
  70.     @scene_sprite.update
  71.     # スーパークラスを実行
  72.     super
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 終了前処理
  76.   #--------------------------------------------------------------------------
  77.   def pre_terminate
  78.     # スーパークラスを実行
  79.     super
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● 終了処理
  83.   #--------------------------------------------------------------------------
  84.   def terminate
  85.     # シーンスプライトを解放
  86.     @scene_sprite.bitmap.dispose if @scene_sprite.bitmap
  87.     @scene_sprite.dispose
  88.     @scene_sprite = nil
  89.     # スーパークラスを実行
  90.     super
  91.   end
  92. end
  93.  
  94. # ☆ 開発用メソッド追加 ☆
  95.  
  96. #==============================================================================
  97. # ■ Scene_Base
  98. #------------------------------------------------------------------------------
  99. #  ゲーム中のすべてのシーンのスーパークラスです。
  100. #==============================================================================
  101.  
  102. class Scene_Base
  103.   #--------------------------------------------------------------------------
  104.   # ● 暗転モード処理
  105.   #--------------------------------------------------------------------------
  106.   def blackout(type = 0, power = 10, max = 100, sprite = nil)
  107.     @tone_power = power
  108.     @tone_type = type
  109.     @tone_max = max
  110.     update_blackout(sprite)
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # ● フレーム更新 (暗転処理)
  114.   #--------------------------------------------------------------------------
  115.   def update_blackout(sprite)
  116.     case @tone_type
  117.     when 0
  118.       if @tone_rate != -@tone_max
  119.         @tone_rate = [@tone_rate - @tone_power, -@tone_max].max
  120.         sprite.tone.red = @tone_rate
  121.         sprite.tone.green = @tone_rate
  122.         sprite.tone.blue = @tone_rate
  123.       end
  124.     when 1
  125.       if @tone_rate != 0
  126.         @tone_rate = [@tone_rate + @tone_power, 0].min
  127.         sprite.tone.red = @tone_rate
  128.         sprite.tone.green = @tone_rate
  129.         sprite.tone.blue = @tone_rate
  130.       end
  131.     end
  132.   end
  133. end
  134. #==============================================================================
  135. # ■ Object
  136. #------------------------------------------------------------------------------
  137. #  全てのクラスのスーパークラス。オブジェクトの一般的な振舞いを定義します。
  138. #==============================================================================
  139.  
  140. class Object
  141.   #--------------------------------------------------------------------------
  142.   # ● 情報の出力
  143.   #--------------------------------------------------------------------------
  144.   def p2(info)
  145.     # pメソッドを疑似的に前の仕様に戻す
  146.     msgbox(info)
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● 深い複製の作成
  150.   #--------------------------------------------------------------------------
  151.   def dec
  152.     # Marshalもモジュールを経由して、完全な複製を作成
  153.     return Marshal.load(Marshal.dump(self))
  154.   end
  155. end
  156. #==============================================================================
  157. # ■ NilClass
  158. #------------------------------------------------------------------------------
  159. #  nil のクラス。nil は NilClass クラスの唯一のインスタンスです。
  160. #==============================================================================
  161.  
  162. class NilClass
  163.   #--------------------------------------------------------------------------
  164.   # ● デバイスの取得
  165.   #--------------------------------------------------------------------------
  166.   def to_d
  167.     return "BGM"
  168.   end
  169. end
  170. #==============================================================================
  171. # ■ String
  172. #------------------------------------------------------------------------------
  173. #  文字列クラス。任意の長さのバイト列を扱うことができます。
  174. #==============================================================================
  175.  
  176. class String
  177.   #--------------------------------------------------------------------------
  178.   # ● デバイスの取得
  179.   #--------------------------------------------------------------------------
  180.   def to_d
  181.     return self
  182.   end
  183. end
  184. #==============================================================================
  185. # ■ Audio
  186. #------------------------------------------------------------------------------
  187. #  ミュージック、サウンドにかかわる処理を行うモジュールです。
  188. #==============================================================================
  189.  
  190. module Audio
  191.   #--------------------------------------------------------------------------
  192.   # ● 音楽の解放
  193.   #--------------------------------------------------------------------------
  194.   def self.dispose
  195.     #self.bgs_stop
  196.     self.me_stop
  197.     self.bgm_stop
  198.   end
  199. end
  200. #==============================================================================
  201. # ■ Sprite
  202. #------------------------------------------------------------------------------
  203. #  スプライト表示を扱う組み込みクラスです。
  204. #==============================================================================
  205.  
  206. class Sprite
  207.   #--------------------------------------------------------------------------
  208.   # ● 座標の設定
  209.   #--------------------------------------------------------------------------
  210.   def rect_set(x, y, z = 100)
  211.     self.x = x if x
  212.     self.y = y if y
  213.     self.z = z if z
  214.   end
  215.   #--------------------------------------------------------------------------
  216.   # ● データの取得
  217.   #--------------------------------------------------------------------------
  218.   def data_copy(data)
  219.     return if data.disposed? or self.disposed?
  220.     # 各データをコピー
  221.     self.x = data.x
  222.     self.y = data.y
  223.     self.z = data.z-1
  224.     self.visible = data.visible
  225.     self.ox = data.ox
  226.     self.oy = data.oy
  227.     self.angle = data.angle
  228.     self.mirror = data.mirror
  229.     self.src_rect = data.src_rect.dup
  230.     self.zoom_x = data.zoom_x
  231.     self.zoom_y = data.zoom_y
  232.   end
  233.   #--------------------------------------------------------------------------
  234.   # ● 残像用の複製の作成
  235.   #--------------------------------------------------------------------------
  236.   def blink
  237.     # 各データをコピー
  238.     sprite = Sprite.new(self.viewport)
  239.     sprite.bitmap = self.bitmap.dup if self.bitmap
  240.     sprite.x = self.x
  241.     sprite.y = self.y
  242.     sprite.z = self.z-1
  243.     sprite.visible = false
  244.     sprite.ox = self.ox
  245.     sprite.oy = self.oy
  246.     sprite.angle = self.angle
  247.     sprite.mirror = self.mirror
  248.     sprite.opacity = self.opacity - 95
  249.     sprite.blend_type = 1
  250.     sprite.color = self.color.dup
  251.     sprite.src_rect = self.src_rect.dup
  252.     sprite.zoom_x = self.zoom_x
  253.     sprite.zoom_y = self.zoom_y
  254.     return sprite
  255.   end
  256.   #--------------------------------------------------------------------------
  257.   # ● 複製の作成
  258.   #--------------------------------------------------------------------------
  259.   def dup
  260.     # 各データをコピー
  261.     sprite = Sprite.new(self.viewport)
  262.     sprite.bitmap = self.bitmap.dup if self.bitmap
  263.     sprite.x = self.x
  264.     sprite.y = self.y
  265.     sprite.z = self.z
  266.     sprite.visible = self.visible
  267.     sprite.ox = self.ox
  268.     sprite.oy = self.oy
  269.     sprite.angle = self.angle
  270.     sprite.mirror = self.mirror
  271.     sprite.opacity = self.opacity
  272.     sprite.blend_type = self.blend_type
  273.     sprite.color = self.color.dup
  274.     sprite.src_rect = self.src_rect.dup
  275.     sprite.zoom_x = self.zoom_x
  276.     sprite.zoom_y = self.zoom_y
  277.     return sprite
  278.   end
  279.   #--------------------------------------------------------------------------
  280.   # ● センタリング
  281.   #--------------------------------------------------------------------------
  282.   def centering
  283.     return if self.bitmap == nil
  284.     self.x = (640 - (self.bitmap.width * self.zoom_x)) / 2
  285.     self.y = (480 - (self.bitmap.height * self.zoom_y)) / 2
  286.   end
  287.   #--------------------------------------------------------------------------
  288.   # ● ズーム
  289.   #--------------------------------------------------------------------------
  290.   def zoom=(n)
  291.     zoom_x = n
  292.     zoom_y = n
  293.   end
  294.   #--------------------------------------------------------------------------
  295.   # ● エフェクト表示中判定
  296.   #--------------------------------------------------------------------------
  297.   def effect?
  298.     return false
  299.   end
  300. end
  301. #==============================================================================
  302. # ■ Array
  303. #------------------------------------------------------------------------------
  304. #  配列全般を扱う組み込みクラスです。
  305. #==============================================================================
  306.  
  307. class Array
  308.   #--------------------------------------------------------------------------
  309.   # ● 要素の一次元化
  310.   #--------------------------------------------------------------------------
  311.   def divide
  312.     array = []
  313.     # データを複製
  314.     data = self.dup
  315.     # 要素の一次元化
  316.     data.each do |i|
  317.       if i.is_a?(Array)
  318.         for a in i
  319.           array.push(a)
  320.         end
  321.       else
  322.         array.push(i)
  323.       end
  324.     end
  325.     return array
  326.   end
  327.   #--------------------------------------------------------------------------
  328.   # ● 要素のシャッフル
  329.   #--------------------------------------------------------------------------
  330.   def shuffle
  331.     # データを複製
  332.     data = self.dup
  333.     # 要素をランダムに並び替える
  334.     data.each_index do |i|
  335.       j = rand(i+1)
  336.       data[i], data[j] = data[j], data[i]
  337.     end
  338.     return data
  339.   end
  340.   #--------------------------------------------------------------------------
  341.   # ● 要素のシャッフル(破壊的)
  342.   #--------------------------------------------------------------------------
  343.   def shuffle!
  344.     # 要素をランダムに並び替える
  345.     self.each_index do |i|
  346.       j = rand(i+1)
  347.       self[i], self[j] = self[j], self[i]
  348.     end
  349.   end
  350.   #--------------------------------------------------------------------------
  351.   # ● 要素をランダムに返す
  352.   #--------------------------------------------------------------------------
  353.   def get_rand
  354.     return self[rand(self.size)]
  355.   end
  356.   #--------------------------------------------------------------------------
  357.   # ● 要素の交換
  358.   #    a : 要素1
  359.   #    b : 要素2
  360.   #--------------------------------------------------------------------------
  361.   def change(a, b)
  362.     # データを複製
  363.     data = self.dup
  364.     # 要素を交換する(self自体には変化がない)
  365.     data[a] = self[b]
  366.     data[b] = self[a]
  367.     return data
  368.   end
  369.   #--------------------------------------------------------------------------
  370.   # ● 要素の交換(破壊的)
  371.   #    a : 要素1
  372.   #    b : 要素2
  373.   #--------------------------------------------------------------------------
  374.   def change!(a, b)
  375.     # 要素を交換する(selfを直接書き換える)
  376.     self[a], self[b] = self[b], self[a]
  377.   end
  378. end
  379. #==============================================================================
  380. # ■ Numeric
  381. #------------------------------------------------------------------------------
  382. #  数値全般を扱う組み込みクラスです。
  383. #==============================================================================
  384.  
  385. class Numeric
  386.   #--------------------------------------------------------------------------
  387.   # ● 乱数の設定
  388.   #    n : 乱数値
  389.   #--------------------------------------------------------------------------
  390.   def amp(n)
  391.     amp = (self.abs * n / 100).to_min(1)
  392.     return self + rand(amp+1) + rand(amp+1) - amp
  393.   end
  394.   #--------------------------------------------------------------------------
  395.   # ● 値の調整
  396.   #    order : 求められた値
  397.   #    size  : 最大サイズ
  398.   #--------------------------------------------------------------------------
  399.   def select(order, size)
  400.     if self - order <= -1
  401.       return size
  402.     elsif self + order >= size
  403.       return 0
  404.     else
  405.       return self + order
  406.     end
  407.   end
  408.   #--------------------------------------------------------------------------
  409.   # ● 最大値の設定
  410.   #    max : 求められた最大の数値
  411.   #--------------------------------------------------------------------------
  412.   def to_max(min, max)
  413.     if self > max
  414.       return max
  415.     elsif self < min
  416.       return min
  417.     else
  418.       return self
  419.     end
  420.   end
  421.   #--------------------------------------------------------------------------
  422.   # ● 最大値の設定
  423.   #    max : 求められた最大の数値
  424.   #--------------------------------------------------------------------------
  425.   def to_m(max)
  426.     if self > max
  427.       return max
  428.     else
  429.       return self
  430.     end
  431.   end
  432.   #--------------------------------------------------------------------------
  433.   # ● 最小値の設定
  434.   #    min : 求められた最小の数値
  435.   #--------------------------------------------------------------------------
  436.   def to_min(min)
  437.     if self < min
  438.       return min
  439.     else
  440.       return self
  441.     end
  442.   end
  443.   #--------------------------------------------------------------------------
  444.   # ● 範囲内から乱数を得る
  445.   #    min : 求められた最小の数値
  446.   #--------------------------------------------------------------------------
  447.   def mm_rand(min)
  448.     return rand(self - min + 1) + min
  449.   end
  450.   #--------------------------------------------------------------------------
  451.   # ● 求めた数値に対するパーセンテージを返す
  452.   #    order : 求められた数値
  453.   #--------------------------------------------------------------------------
  454.   def rate(order)
  455.     return 100 if order == 0
  456.     return (self * 100) / order
  457.   end
  458. end
  459. #==============================================================================
  460. # ■ Window
  461. #------------------------------------------------------------------------------
  462. #  ゲーム内の全てのウィンドウのスーパークラスです。
  463. #   内部的には複数のスプライトで構成されています。
  464. #==============================================================================
  465.  
  466. class Window
  467.   #--------------------------------------------------------------------------
  468.   # ● 暗転モード処理
  469.   #--------------------------------------------------------------------------
  470.   def blackout(type = 0, power = 10, max = 100, sprite = @win_viewport)
  471.     @tone_power = power
  472.     @tone_type = type
  473.     @tone_max = max
  474.     update_blackout(sprite)
  475.   end
  476.   #--------------------------------------------------------------------------
  477.   # ● フレーム更新 (暗転処理)
  478.   #--------------------------------------------------------------------------
  479.   def update_blackout(sprite = @win_viewport)
  480.     case @tone_type
  481.     when 0
  482.       if @tone_rate != -@tone_max
  483.         @tone_rate = [@tone_rate - @tone_power, -@tone_max].max
  484.         sprite.tone.red = @tone_rate
  485.         sprite.tone.green = @tone_rate
  486.         sprite.tone.blue = @tone_rate
  487.       end
  488.     when 1
  489.       if @tone_rate != 0
  490.         @tone_rate = [@tone_rate + @tone_power, 0].min
  491.         sprite.tone.red = @tone_rate
  492.         sprite.tone.green = @tone_rate
  493.         sprite.tone.blue = @tone_rate
  494.       end
  495.     end
  496.   end
  497.   #--------------------------------------------------------------------------
  498.   # ● ウィンドウの右寄せ
  499.   #--------------------------------------------------------------------------
  500.   def right(x)
  501.     # ウィンドウを画面の右に配置する
  502.     self.x = (x - self.width)
  503.   end
  504.   #--------------------------------------------------------------------------
  505.   # ● ウィンドウの下寄せ
  506.   #--------------------------------------------------------------------------
  507.   def down(y)
  508.     # ウィンドウを画面の右に配置する
  509.     self.y = (480 - self.height - y)
  510.   end
  511.   #--------------------------------------------------------------------------
  512.   # ● ウィンドウのセンタリング
  513.   #--------------------------------------------------------------------------
  514.   def centering
  515.     # ウィンドウを画面の中央に配置する
  516.     self.x = (640 - self.width)  / 2
  517.     self.y = (480 - self.height) / 2
  518.   end
  519. end
  520.  
  521.  
  522. #===============================================================================
  523. #===============================================================================
  524. #===============================================================================
  525.  
  526.  
  527.  
  528. #◆◇◆◇◆  バトル突入演出VXA ver 1・00  ◇◆◇◆◇
  529. #  サポート掲示板 [url]http://www2.ezbbs.net/21/minto-aaa/[/url]
  530. #   by みんと
  531.  
  532. =begin
  533.  
  534. ■ 更新履歴
  535.  
  536. ○ ver 1.00(2012/01/21)
  537. 公開
  538.  
  539. ■ 説明
  540.  
  541. 戦闘開始時、
  542. 現在の画面をホワイトアウトさせながらズームさせます。
  543.  
  544. ただし、
  545. あくまでも「現在の画面の中央」を基点としていますので、
  546. プレイヤーが中央に表示されていない場合は
  547. ズームがプレイヤーに合わせられません。
  548.  
  549. =end
  550.  
  551. #==============================================================================
  552. # ☆ MINTO
  553. #------------------------------------------------------------------------------
  554. #   様々なフラグを扱うメインモジュールです。
  555. #==============================================================================
  556.  
  557. module MINTO
  558.  
  559.   # バトル突入演出VXAを有効化 ( true で有効 / false で無効 )
  560.   RGSS["バトル突入演出VXA"] = true
  561.  
  562.   # 演出を行わないスイッチ
  563.   #(このIDのスイッチが「オン」の場合、演出を行いません)
  564.   Not_BattleStart_Switch = 1
  565.   #使用这种战斗效果的开关
  566.  
  567.   # トランジョン演出を行わないスイッチ
  568.   #(このIDのスイッチが「オン」の場合、トランジョン演出を行いません)
  569.   Not_BattleEffect_Switch = 2
  570.   #使用战斗渐变图的开关
  571.  
  572. end
  573.  
  574. # バトル突入演出VXAが有効な場合に以降の処理を実行する
  575. if MINTO::RGSS["バトル突入演出VXA"] == true then
  576.  
  577. #==============================================================================
  578. # ■ Game_Interpreter
  579. #------------------------------------------------------------------------------
  580. #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
  581. # Game_Troop クラス、Game_Event クラスの内部で使用されます。
  582. #==============================================================================
  583.  
  584. class Game_Interpreter
  585.   #--------------------------------------------------------------------------
  586.   # ● バトルの処理
  587.   #--------------------------------------------------------------------------
  588.   def command_301
  589.     return if $game_party.in_battle
  590.     if @params[0] == 0                      # 直接指定
  591.       troop_id = @params[1]
  592.     elsif @params[0] == 1                   # 変数で指定
  593.       troop_id = $game_variables[@params[1]]
  594.     else                                    # マップ指定の敵グループ
  595.       troop_id = $game_player.make_encounter_troop_id
  596.     end
  597.     if $data_troops[troop_id]
  598.       BattleManager.setup(troop_id, @params[2], @params[3])
  599.       BattleManager.event_proc = Proc.new {|n| @branch[@indent] = n }
  600.       $game_player.make_encounter_count
  601.       SceneManager.scene.call_battle
  602.       SceneManager.call(Scene_Battle)
  603.     end
  604.     Fiber.yield
  605.   end
  606. end
  607. #==============================================================================
  608. # ■ Scene_Map
  609. #------------------------------------------------------------------------------
  610. #  マップ画面の処理を行うクラスです。
  611. #==============================================================================
  612.  
  613. class Scene_Map < Scene_Base
  614.   #--------------------------------------------------------------------------
  615.   # ● システムインクルード
  616.   #--------------------------------------------------------------------------
  617.   include MINTO_System                    # みんとシステムモジュール
  618.   #--------------------------------------------------------------------------
  619.   # ● バトル突入演出
  620.   #--------------------------------------------------------------------------
  621.   def battle_effect
  622.     # 出力した画像を読み込む
  623.     bitmap = Graphics.snap_to_bitmap
  624.     # シーンスプライトが有効な場合
  625.     unless @scene_sprite.nil?
  626.       unless @scene_sprite.bitmap.nil?
  627.         # シーンスプライトをクリア
  628.         @scene_sprite.bitmap.dispose
  629.         @scene_sprite.bitmap = nil
  630.       end
  631.     end
  632.     # サブスプライトを作成
  633.     sub_sprite = @scene_sprite.dup
  634.     # ビットマップを渡して描写する
  635.     @scene_sprite.bitmap = bitmap
  636.     sub_sprite.bitmap = bitmap
  637.     # 座標を中心で固定する
  638.     @scene_sprite.x = Graphics.width / 2
  639.     @scene_sprite.y = Graphics.height / 2
  640.     @scene_sprite.ox = Graphics.width / 2
  641.     @scene_sprite.oy = Graphics.height / 2
  642.     sub_sprite.x = Graphics.width / 2
  643.     sub_sprite.y = Graphics.height / 2
  644.     sub_sprite.ox = Graphics.width / 2
  645.     sub_sprite.oy = Graphics.height / 2
  646.     # スプライトを最前面に表示する
  647.     @scene_sprite.z = 999999
  648.     sub_sprite.z = 999998
  649.     # シーンスプライトを加算表示にする
  650.     @scene_sprite.blend_type = 1
  651.     # シーンスプライトを光転させる
  652.     blackout(0, 160, -160, @scene_sprite)
  653.     # スプライトの不透明度を設定する
  654.     @scene_sprite.opacity = 0
  655.     sub_sprite.opacity = 255
  656.     # ズーム補正値を定義
  657.     zoom = (3.0 / 40.0)
  658.     zoom2 = (3.5 / 40.0)
  659.     # ループ処理(40回処理する)
  660.  
  661. =begin
  662.     40.times do
  663.       # ゲーム画面を更新
  664.       Graphics.update
  665.       # スプライトをズームさせる
  666.       sub_sprite.zoom_x += zoom
  667.       sub_sprite.zoom_y += zoom
  668.       @scene_sprite.zoom_x += zoom2
  669.       @scene_sprite.zoom_y += zoom2
  670.       # シーンスプライトを徐々に表示させる
  671.       @scene_sprite.opacity += (255 / 40)
  672.     end
  673. =end
  674.  
  675. #以下部分经过我自己的修改
  676.  
  677. #放大的处理,开头数字越大时间越长
  678.  
  679.     30.times do
  680.  
  681.       Graphics.update
  682.       sub_sprite.zoom_x += zoom
  683.       sub_sprite.zoom_y += zoom
  684.       @scene_sprite.zoom_x += zoom2
  685.       @scene_sprite.zoom_y += zoom2
  686.  
  687.     end
  688.  
  689. #缩小的处理,开头数字越大时间越长
  690.  
  691.     10.times do
  692.  
  693.       Graphics.update
  694.       sub_sprite.zoom_x -= zoom*3
  695.       sub_sprite.zoom_y -= zoom*3
  696.       @scene_sprite.zoom_x -= zoom2*3
  697.       @scene_sprite.zoom_y -= zoom2*3
  698.       @scene_sprite.opacity += (255 / 10)
  699.       #画面变亮,不需要可以将本句删除,需要放大时也变亮的话也加到放大处理的后面
  700.  
  701.     end
  702.  
  703. #以上部分经过我自己的修改
  704.  
  705.  
  706.     # トランジション準備
  707.     Graphics.freeze
  708.     # サブスプライトを解放
  709.     sub_sprite.bitmap.dispose
  710.     sub_sprite.dispose
  711.   end
  712.   #--------------------------------------------------------------------------
  713.   # ● バトル画面への切り替え
  714.   #--------------------------------------------------------------------------
  715.   def call_battle
  716.     # 演出カットの場合
  717.     if $game_switches[MINTO::Not_BattleStart_Switch] == true then
  718.       # メソッドを返す
  719.       return
  720.     end
  721.     # 現在のBGMを記憶
  722.     BattleManager.save_bgm_and_bgs
  723.     # 戦闘BGMを再生
  724.     BattleManager.play_battle_bgm
  725.     # バトル突入SEを再生
  726.     Sound.play_battle_start
  727.     # 戦闘開始演出を実行
  728.     battle_effect
  729.     # スプライトセットを更新
  730.     @spriteset.update
  731.     # ゲーム画面を更新
  732.     Graphics.update
  733.   end
  734.   #--------------------------------------------------------------------------
  735.   # ● バトル画面遷移の前処理
  736.   #--------------------------------------------------------------------------
  737.   def pre_battle_scene
  738.     # 画面の情報を更新
  739.     Graphics.update
  740.     # トランジョン準備
  741.     Graphics.freeze
  742.     # 演出カットの場合
  743.     if $game_switches[MINTO::Not_BattleStart_Switch] == true then
  744.       # 現在のBGMを記憶
  745.       BattleManager.save_bgm_and_bgs
  746.       # 戦闘BGMを再生
  747.       BattleManager.play_battle_bgm
  748.       # バトル突入SEを再生
  749.       Sound.play_battle_start
  750.     end
  751.     # キャラクタースプライトの解放
  752.     @spriteset.dispose_characters
  753.   end
  754.   #--------------------------------------------------------------------------
  755.   # ● エンカウントの更新
  756.   #--------------------------------------------------------------------------
  757.   def update_encounter
  758.     # エンカウントが発生した場合
  759.     if $game_player.encounter then
  760.       # 演出を開始
  761.       call_battle
  762.       # 戦闘画面に切り替え
  763.       SceneManager.call(Scene_Battle)
  764.     end
  765.   end
  766.   #--------------------------------------------------------------------------
  767.   # ● 戦闘前トランジション実行
  768.   #--------------------------------------------------------------------------
  769.   alias perform_battle_transition_MINTO_RGSS3_05 perform_battle_transition
  770.   def perform_battle_transition
  771.     # 演出カットの場合
  772.     if $game_switches[MINTO::Not_BattleEffect_Switch] == true then
  773.       Graphics.transition(10)
  774.       Graphics.freeze
  775.       # メソッドを返す
  776.       return
  777.     end
  778.     # 元の処理を実行
  779.     perform_battle_transition_MINTO_RGSS3_05
  780.   end
  781. end
  782.  
  783. end

评分

参与人数 1星屑 +100 收起 理由
Sion + 100 非常感谢!

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
82 小时
注册时间
2013-3-17
帖子
63
3
 楼主| 发表于 2013-7-14 23:34:34 手机端发表。 | 只看该作者
喵呜喵5 发表于 2013-7-14 22:53  脚本略长,800行,因为连同这个作者500行的主脚本都包含在内了………………   第522行之后是真正的战斗效果 ...

非常感谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-20 23:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表