Project1

标题: 请教各位如何在战斗中应用天气和播放BGS [打印本页]

作者: timiesea    时间: 2014-3-30 10:48
标题: 请教各位如何在战斗中应用天气和播放BGS
本帖最后由 timiesea 于 2014-4-4 12:53 编辑

在地图中设置了天气效果并且播放对应的BGS,可是进入战斗后天气没了,BGS也没了。有什么办法能够在战斗中也同样有效果呢?
作者: 159-753    时间: 2014-3-30 14:51
战斗中播放BGS的话,应该可以在战斗开始后,
使用战斗事件(条件:回合0)播放。
不行的话换成BGM也行吧。
作者: timiesea    时间: 2014-4-2 15:18
感谢@159-753的提醒。我已经在脚本里将停止播放BGS的相关内容删除了,现在进入战斗即可延续BGS。不过天气效果仍然还没有找到解决办法。

看到帖子沉了还没有思路,忍不住顶了一下!
作者: tseyik    时间: 2014-4-2 15:45
=begin
      RGSS3
      
      ★ 戦闘内天候持ち越し ★

      天候を戦闘にも反映させます。
      
      ver1.00

      Last Update : 2011/12/17
      12/17 : RGSS2からの移植
      
      ろかん   http://kaisou-ryouiki.sakura.ne.jp/
=end

#===================================
#  ●設定箇所
#===================================
module BattleWeather
  # 戦闘中に天候が変更された場合、戦闘後のマップにも反映させるかどうか
  BCEMW = true
end
#===================================
#  ここまで
#===================================

$rsi ||= {}
$rsi["戦闘内天候持ち越し"] = true

class Game_Screen
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_writer   :weather_type
  attr_writer   :weather_power
end

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 天候の設定   ※再定義
  #--------------------------------------------------------------------------
  def command_236
    screen.change_weather(@params[0], @params[1], @params[2])
    wait(@params[2]) if @params[3]
  end
end

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ● インクルード BattleWeather
  #--------------------------------------------------------------------------
  include BattleWeather
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias battle_weather_initialize initialize
  def initialize
    battle_weather_initialize
    create_weather
  end
  #--------------------------------------------------------------------------
  # ● 天候の作成
  #--------------------------------------------------------------------------
  def create_weather
    $game_troop.screen.weather_type = $game_map.screen.weather_type
    $game_troop.screen.weather_power = $game_map.screen.weather_power
    @weather = Spriteset_Weather.new(@viewport2)
    @weather.update
    Graphics.update
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  alias battle_weather_dispose dispose
  def dispose
    if BCEMW
      $game_map.screen.weather_type = @weather.type
      $game_map.screen.weather_power = @weather.power
    end
    dispose_weather
    battle_weather_dispose
  end
  #--------------------------------------------------------------------------
  # ● 天候の解放
  #--------------------------------------------------------------------------
  def dispose_weather
    @weather.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias update_battle_weather update
  def update
    update_battle_weather
    update_weather
  end
  #--------------------------------------------------------------------------
  # ● 天候の更新
  #--------------------------------------------------------------------------
  def update_weather
    if @weather
      @weather.type = $game_troop.screen.weather_type
      @weather.power = $game_troop.screen.weather_power
      @weather.update
    end
  end
end




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