Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #===============================================================================
- # RAFAEL_SOL_MAKER's VX AUDIOFILE ENTENSION v.1.0
- # (Com implementações do 'Audio Position' 1.0, do OriginalWij)
- #-------------------------------------------------------------------------------
- # Descrição: Complementa as funções de aúdio adicionando alguns parâmetros,
- # como o 'ME.last' e 'SE.last' para tocar os últimos efeitos
- # sonoros executados recentemente.
- # Essa versão com implementações do OriginalWij também dá acesso
- # à posição da execução do som (ex.: BGM.position), o que
- # pode ser muito útil para usar em sincronizações de sons, etc.
- # Futuramente esse script poderá se tornar mais poderoso e ter
- # mais controle sobre os arquivos de aúdio executados pelo jogo.
- #-------------------------------------------------------------------------------
- # Modo de usar: Basta usar com o comando de som da sua preferência. Ex.:
- # print RPG::BGM.position.to_s, RPG::BGS.position.to_s
- # OBS.: Caso o som se repita ou já tenha terminado de ser
- # executado, o tempo de posição continuará correndo, até que se dê
- # um 'stop' para resetar os contadores.
- #-------------------------------------------------------------------------------
- # Agradecimentos Especiais: OriginalWij
- #-------------------------------------------------------------------------------
- #===============================================================================
- module RPG
- class BGM < AudioFile
- @@last = BGM.new
- @@position = 0
- def play
- if @name.empty?
- Audio.bgm_stop
- @@last = BGM.new
- @@position = 0
- else
- Audio.bgm_play("Audio/BGM/" + @name, @volume, @pitch)
- @@last = self
- @@position = Time.now
- end
- end
- def self.stop
- Audio.bgm_stop
- @@last = BGM.new
- @@position = 0
- end
- def self.fade(time)
- Audio.bgm_fade(time)
- @@last = BGM.new
- @@position = 0
- end
- def self.last
- return @@last
- end
- def self.position
- return 0 if @@position == 0
- return Time.now - @@position
- end
- end
- class BGS < AudioFile
- @@last = BGS.new
- @@position = 0
- def play
- if @name.empty?
- Audio.bgs_stop
- @@last = BGS.new
- @@position = 0
- else
- Audio.bgs_play("Audio/BGS/" + @name, @volume, @pitch)
- @@last = self
- @@position = Time.now
- end
- end
- def self.stop
- Audio.bgs_stop
- @@last = BGS.new
- @@position = 0
- end
- def self.fade(time)
- Audio.bgs_fade(time)
- @@last = BGS.new
- @@position = 0
- end
- def self.last
- return @@last
- end
- def self.position
- return 0 if @@position == 0
- return Time.now - @@position
- end
- end
- class ME < AudioFile
- @@last = ME.new
- @@position = 0
- def play
- if @name.empty?
- Audio.me_stop
- @@last = ME.new
- @@position = 0
- else
- Audio.me_play("Audio/ME/" + @name, @volume, @pitch)
- @@last = self
- @@position = Time.now
- end
- end
- def self.stop
- Audio.me_stop
- @@last = ME.new
- @@position = 0
- end
- def self.fade(time)
- Audio.me_fade(time)
- @@last = ME.new
- @@position = 0
- end
- def self.last
- return @@last
- end
- def self.position
- return 0 if @@position == 0
- return Time.now - @@position
- end
- end
- class SE < AudioFile
- @@last = SE.new
- @@position = 0
- def play
- if @name.empty?
- Audio.se_stop
- @@last = SE.new
- @@position = 0
- else
- Audio.se_play("Audio/SE/" + @name, @volume, @pitch)
- @@last = self
- @@position = Time.now
- end
- end
- def self.stop
- Audio.se_stop
- @@last = SE.new
- @@position = 0
- end
- def self.fade(time)
- #Audio.se_fade(time) #NÃO EXISTE!!
- #@@last = SE.new
- #@@position = 0
- raise(NotImplementedError,"O fade do Efeitos Sonoros(SE) não está disponível para essa versão do Script!")
- end
- def self.last
- return @@last
- end
- def self.position
- return 0 if @@position == 0
- return Time.now - @@position
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement