MOG Scene Story é um script para o RPG Maker XP desenvolvido pelo Moghunter que possibilita uma tela de introdução, créditos, mudança de capítulos, etc no seu arquivo.
O script vai deslizar uma imagem contendo tais informações sobre o seu jogo.
Para chamar o script use este código através de um evento:
$scene = Scene_Story.new
A altura da imagem do texto poder ser o que você quiser, desde que a largura não passe de 640px. Convém baixar a demo que já possui todas as imagens, exemplos e o código abaixo:
#_______________________________________________________________________________ # MOG Scene Story V1.2 #_______________________________________________________________________________ # By Moghunter # http://www.atelier-rgss.com #_______________________________________________________________________________ # Tela de introdução, créditos, mudança de capítulos,etc... # Para customizar basta trocar as pictures que estão na pasta # Graphics/Title/ # # CRD_PANO.png -> Imagem de fundo. # CRD_OBJ.png -> Imagem Central. # CRD_PART.png -> Imagem de partículas em movimento # CRD_BORDER.png -> Imagem das bordas ou layout. # CRD_BLANK -> Imagem usada para dar fade na tela. # CRD_TEXT -> Imagem do texto(Créditos ou outros). # # Para definir o texto que será apresentado você deve # coloca-lo na imagem CRD_TEXT.png com a largura máxima de 640. # A altura pode ser qualquer tamanho, lembrando que os textos # são pictures, portanto você pode mistura-los juntos com textos # e imagens. # # Para chamar o script use este código no evento. # ############################ # $scene = Scene_Story.new # ############################ #_______________________________________________________________________________ module MOG #Definição da música de fundo. CREDITS_BGM = "013-Theme02" #Tipo de transição. CDT_TR_TYPE = "020-Flat01" #Tempo para Transição. CDT_TR_TIME = 100 #Velocidade da movimentação do texto. TEXT_SPEED = 1 #Ativar as imagens. OBJETO_VISIBLE = true PARTI_VISIBLE = true BORDER_VISIBLE = true #Tipo de Sinteticidade (Bleding). # 0 - Normal # 1 - Inverter # 2 - Multiplicar OBJETO_BLEND = 0 PARTI_BLEND = 1 BORDER_BLEND = 1 #Definição da movimentação da partícula 1. PARTI_01_OX = 1 #(horizontal) PARTI_01_OY = 2 #(vertical) #Definição da movimentação da partícula 2. PARTI_02_OX = -1 #(horizontal) PARTI_02_OY = 2 #(vertical) #Tipo de Background # true = Panorama # false = Mapa PANORAMA_MODE = true end #=============================================================================== # Scene_Story #=============================================================================== class Scene_Story include MOG #-------------------------------------------------------------------------- # Main #-------------------------------------------------------------------------- def main Audio.bgm_fade(7000) if PANORAMA_MODE == false @spriteset = Spriteset_Map.new else @pano = Plane.new @pano.bitmap = RPG::Cache.title("CRD_PANO") @pano.z = 1 end @objeto = Sprite.new @objeto.bitmap = RPG::Cache.title("CRD_OBJ") @objeto.z = 10 @objeto.x = 230 @objeto.y = 170 @objeto.visible = OBJETO_VISIBLE @objeto.blend_type = OBJETO_BLEND @objeto.opacity = 0 @particula_01 = Plane.new @particula_01.bitmap = RPG::Cache.title("CRD_PARTI") @particula_01.z = 20 @particula_01.blend_type = PARTI_BLEND @particula_01.opacity = 0 @particula_01.visible = PARTI_VISIBLE @particula_02 = Plane.new @particula_02.bitmap = RPG::Cache.title("CRD_PARTI") @particula_02.z = 250 @particula_02.ox = 320 @particula_02.oy = 240 @particula_02.blend_type = PARTI_BLEND @particula_02.opacity = 0 @particula_02.visible = PARTI_VISIBLE @border = Sprite.new @border.bitmap = RPG::Cache.title("CRD_BORDER") @border.z = 30 @border.blend_type = BORDER_BLEND @border.visible = BORDER_VISIBLE @texto = Sprite.new @texto.bitmap = RPG::Cache.title("CRD_TEXT") @texto.y = 480 @texto.z = 25 @texto.opacity = 0 @blank = Plane.new @blank.bitmap = RPG::Cache.title("CRD_BLANK") @blank.z = 40 @blank.opacity = 253 @time = 0 @time_fv = 0 @texto_Time = 0 @time_move = 0 @time_fade = 480 + @texto.bitmap.height Graphics.transition(CDT_TR_TIME, "Graphics/Transitions/" + CDT_TR_TYPE) Audio.bgm_play("Audio/Bgm/" + CREDITS_BGM) loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze if PANORAMA_MODE == false @spriteset.dispose else @pano.dispose end @objeto.dispose @particula_01.dispose @particula_02.dispose @border.dispose @texto.dispose @blank.dispose $game_map.autoplay end #-------------------------------------------------------------------------- # Update #-------------------------------------------------------------------------- def update @time_fv += 1 @time += 1 @time_move += 1 @objeto.opacity += 1 if PANORAMA_MODE == true @pano.ox += 1 end @particula_01.opacity += 15 @particula_02.opacity += 15 @particula_01.ox += PARTI_01_OX @particula_01.oy += PARTI_01_OY @particula_02.ox += PARTI_02_OX @particula_02.oy += PARTI_02_OY @texto.opacity += 1 if @time_fade <= 0 @blank.opacity += 1 Audio.bgm_fade(10000) end if @time_fade > 0 and @blank.opacity > 0 @blank.opacity -= 1 end if @blank.opacity >= 254 and @time_fade <= 0 $scene = Scene_Map.new end if @time_move > 1 and @blank.opacity <= 0 @time_move = 0 @texto.oy += TEXT_SPEED @time_fade -= TEXT_SPEED end if @time > 12 @time = 0 end if @time_fv > 100 @time_fv = 0 end if @time_fv > 50 if @time >= 12 @objeto.y -= 1 end else if @time >= 12 @objeto.y += 1 end end if @objeto.y < 160 @objeto.y = 160 elsif @objeto.y > 180 @objeto.y = 180 end end end $mog_rgss_Scene_Story = true
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!