Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #===============================================================================
- # * * FP Simulador de Vídeos e Animações * *
- #===============================================================================
- # * Criado por: Fábio Pichler http://www.fabiopichler.com.br
- # * Versão: 1.0 Beta
- # * Compatível com: RPG Maker VX Ace
- # * Lançamento: 13/11/2014
- # * Página Web: http://www.fabiopichler.com.br/rpg-maker/fp-simulador-de-videos-e-animacoes/
- #
- #===============================================================================
- # * * Introdução * *
- #-------------------------------------------------------------------------------
- # * Este script simula a reprodução de animações ou de vídeos.
- # * A reprodução de animações será feita a partir de um conjunto de
- # imagens (frames). Os vídeos serão da mesma forma, mas com acréscimo de áudio.
- #
- #===============================================================================
- # * * Características * *
- #-------------------------------------------------------------------------------
- # * Compatibilidade: Boa
- # * Dificuldade: Médio
- # * Lag: Desprezível
- # * Bug: Nenhum conhecido
- #
- #===============================================================================
- # * * Modo de uso (Tutorial) * *
- #-------------------------------------------------------------------------------
- # Leia o documento RTF que se encontra junto a Demo, cujo o nome
- # é "Tutorial.rtf", veja este documento para informações de como
- # utilizar o script.
- #
- # * Você também poderá baixar o Documento RTF separado da Demo,
- # basta visitar a página do script:
- # http://www.fabiopichler.com.br/rpg-maker/fp-simulador-de-videos-e-animacoes/
- #
- #===============================================================================
- # * * Termos de Uso * *
- #-------------------------------------------------------------------------------
- # * Você poderá usar este script livremente em seu projeto/jogo, seja
- # comercial ou não-comercial, basta dar-me os devidos créditos.
- #
- # * Caso queira, poderá postar este script em outro fórum/site, desde que,
- # não altere nenhuma parte deste script, não tire meus créditos, não dê
- # créditos a sí mesmo pelo script.
- #
- # * Não adicione códigos e nem personalize o script, se for postar
- # em algum forum/site.
- #
- # * Você poderá alterar o que quiser no script, desde que,
- # fique restrito somente ao(s) seu(s) projeto(s)/jogo(s).
- #
- module FPSVA #Não mexa nesta linha
- #===============================================================================
- # * * Configuração * * [Alterações após o sinal de = (igualdade)]
- #-------------------------------------------------------------------------------
- # * Diretório (geral) onde as imagens das animações ficarão.
- PATH = "FP_Animations/"
- # * Tecla para cortar as animações. Padrão: :C Representa a tecla Enter.
- Button = :C
- # * Largura da janela do seu jogo.
- Width = 544 #Padrão: 544
- # * Altura da janela do seu jogo.
- Height = 416 #Padrão: 416
- #-------------------------------------------------------------------------------
- # * * Fim da configuração * *
- #===============================================================================
- #===============================================================================
- # * * Script * * Não altere, se não souber :)
- #-------------------------------------------------------------------------------
- end
- class FPAnimation
- attr_writer :stop_button
- attr_writer :freeze_end
- attr_writer :s_last_bgm
- def initialize
- @audio_name = ""
- @x = 0
- @y = 0
- @freeze_end = 0
- @bg = false
- @play_audio = false
- @stop_button = true
- @s_last_bgm = false
- end
- def SetupVideo(x,y,bg)
- @x = x
- @y = y
- @bg = bg
- end
- def SetupAudio(fname,play,stop = 0)
- @audio_name = fname
- @play_audio = play
- @stop_audio = stop
- @s_last_bgm = true
- end
- def PlayAudio(frame)
- if(@s_last_bgm)
- @last_bgm = RPG::BGM.last
- RPG::BGM.stop
- @s_last_bgm = false
- end
- if(@play_audio == frame)
- RPG::BGM.new(@audio_name, 100, 100).play
- end
- end
- def StopAudio(frame)
- if(@stop_audio == frame && @stop_audio > 0)
- RPG::BGM.stop
- end
- end
- def Stop(wait)
- if(wait > @freeze_end)
- return true
- end
- Input.update
- if(Input.trigger?(FPSVA::Button) && @stop_button)
- return true
- end
- return false
- end
- def Play(fname,frame,last_frame,fp_sleep,zero=0)
- if(@bg)
- bg = Sprite.new
- bg.z = 900
- bg.bitmap = Bitmap.new(FPSVA::Width,FPSVA::Height)
- bg.bitmap.fill_rect(0,0,FPSVA::Width,FPSVA::Height,Color.new(0,0,0))
- end
- sprite = Sprite.new
- sprite.x = @x
- sprite.y = @y
- sprite.z = 999
- wait = 0
- (zero > 0) ? zstr="0"+zero.to_s : zstr=""
- loop do
- if(frame <= last_frame)
- sprite.bitmap = Bitmap.new(FPSVA::PATH+fname+sprintf("%"+zstr+"i",frame))
- PlayAudio(frame)
- fp_sleep.times {
- Graphics.update
- }
- sprite.bitmap.dispose if(frame < last_frame)
- StopAudio(frame)
- frame += 1
- else
- Graphics.update
- wait += 1
- end
- break if(Stop(wait))
- end
- RPG::BGM.stop if(@stop_audio==0)
- @last_bgm.play(@last_bgm.pos) if(@last_bgm != nil)
- sprite.bitmap.dispose
- sprite.dispose
- bg.bitmap.dispose if(@bg)
- bg.dispose if(@bg)
- end
- end
- #-------------------------------------------------------------------------------
- # * * Fim do Script * *
- #===============================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement