This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.
Introduction
Simple BGM Fade In
Features
Select the Maps u want the BGM to be faded in
Script
BGM Fade In
Code:
#==============================================================================
# Self Variables Script v. 1.02
# by Caldaron (16.09.2006)
#==============================================================================
module FadeIn
#--------------------------------------------------------------------------
MAPS = [] # Map IDs in which the BGM fades in
FADE = 10 # Time in seconds of fade in
#--------------------------------------------------------------------------
end
#==============================================================================
module RPG
#--------------------------------------------------------------------------
class AudioFile
#--------------------------------------------------------------------------
def initialize(name = "", volume = 100, pitch = 100, fade = 0)
@name = name
@volume = volume
@pitch = pitch
@fade = fade
end
#--------------------------------------------------------------------------
attr_accessor :name
attr_accessor :volume
attr_accessor :pitch
attr_accessor :fade
end
#--------------------------------------------------------------------------
end
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
alias fade_init initialize
#--------------------------------------------------------------------------
def initialize
fade_init
@time = 0
@wait = 10
@fade = false
@bgm_name = nil
@bgm_volume = 0
@bgm_pitch = 0
@bgm_wait = 0
end
#--------------------------------------------------------------------------
def bgm_play(bgm)
@fade = false
if bgm != nil and bgm.name != ""
if bgm.fade != nil
bgm_fade_in(bgm.name, bgm.volume, bgm.pitch, bgm.fade)
@playing_bgm = RPG::AudioFile.new(bgm.name, bgm.volume, bgm.pitch, FadeIn::FADE)
else
Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
@playing_bgm = bgm
end
else
Audio.bgm_stop
end
Graphics.frame_reset
end
#--------------------------------------------------------------------------
def bgm_fade_in(name, volume, pitch, time)
@playing_bgm = RPG::AudioFile.new(name, volume, pitch, time)
@bgm_name = name
@bgm_volume = volume
@bgm_pitch = pitch
@bgm_wait = time
@fade = true
end
#--------------------------------------------------------------------------
alias fade_update update
#--------------------------------------------------------------------------
def update
if @fade
@wait -= 1
if @wait == 0
@time += @bgm_volume/(@bgm_wait * 4.00)
if @time >= @bgm_volume
Audio.bgm_play("Audio/BGM/" + @bgm_name, @bgm_volume, @bgm_pitch)
@fade = false
@bgm_name = nil
@bgm_volume = 0
@bgm_pitch = 0
@time = 10
else
Audio.bgm_play("Audio/BGM/" + @bgm_name, @time, @bgm_pitch)
end
@wait = 10
end
end
fade_update
end
#--------------------------------------------------------------------------
end
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
def autoplay
if @map.autoplay_bgm
if FadeIn::MAPS.include?(@map_id)
$game_system.bgm_fade_in(@map.bgm.name, @map.bgm.volume, @map.bgm.pitch, FadeIn::FADE)
else
$game_system.bgm_play(@map.bgm)
end
end
if @map.autoplay_bgs
$game_system.bgs_play(@map.bgs)
end
end
#--------------------------------------------------------------------------
end
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
alias fade_phase5 update_phase5
#--------------------------------------------------------------------------
def update_phase5
$game_system.bgm_stop
fade_phase5
end
#--------------------------------------------------------------------------
alias fade_end battle_end
#--------------------------------------------------------------------------
def battle_end(result)
fade_end(result)
$game_system.bgm_play($game_temp.map_bgm)
end
#--------------------------------------------------------------------------
end
Instructions
Put this Script above Main
to fade in BGM:
Code:
$game_system.bgm_fade_in("Name", Volume, Pitch, Time of Fade In (in secs))