Douglanilo
Mestre
Postagens : 959 Data de inscrição : 02/04/2009
| Assunto: New Title v1.0 Dom Out 25, 2009 11:46 am | |
| New Title v1.0 por VitorJ IntroduçãoModifica o título padrão do RMVX, Fazendo com que tenha a famosa tela de "Press Start" e também opções por pictures e cena de credito. Características
- Customizavel,
- Feito por pictures, Assim mais bonito.
Screenshots- Spoiler:
Como usarCole acima do main, Tenha as imagens na pasta Graphics\System e só. Para que o press_start funcione você deve trocar o main padrão por esse: - Código:
-
#============================================================================== # Main #------------------------------------------------------------------------------ # Após o final de cada definição de classe o processo principal # do jogo é iniciado. Esta é a classe principal do jogo. #==============================================================================
unless Font.exist?("UmePlus Gothic") print "A fonte UmePlus Gothic não foi encontrada." exit end
begin Graphics.freeze ## Editado aqui. ## $scene = Scene_Press_Start.new ## ## ## ## ## ## ## $scene.main while $scene != nil Graphics.transition(30) rescue Errno::ENOENT filename = $!.message.sub("Arquivo não encontrado - ", "") print("O arquivo #{filename} não foi encontrado.") end
Demohttp://www.4shared.com/file/143128237/b4d91a10/Pacote_de_Novo_Titulo.htmlscript Aconselho baixar a demo por ter todas as imagens. - Código:
-
#============================================================================== # Scene_Title #------------------------------------------------------------------------------ # Criado por VitorJ, # Mostra as opções em imagens # E também tem a opção de creditos. #------------------------------------------------------------------------------ # Para usa-lo, adicione o script acima do main e abaixo do scene_title. # Todas as imagens devem estár na pasta Graphics\System #==============================================================================
module ST BG = "Title_BG" # Nome da imagem de fundo. Opt = "Title_Opt_" # Nome da imagens de opção, devem ter o numero logo apos o nome # Ex: # Opt = "Opt_" # Então, A opção de novo jogo vai ser "Opt_1" e a de load vai ser "Opt_2" e assim por diante. Credits_N = ["Criador","Teste"] # Nome de credito em cada opção Credits_I = ["Credits_1","Credits_2"] # Nome da imagen de creditos das opções, na ordem acima end
#============================================================================== # Scene_End #------------------------------------------------------------------------------ # Classe de operações da tela. #==============================================================================
class Scene_Credits < Scene_Base include ST #-------------------------------------------------------------------------- # Inicialização do processo #-------------------------------------------------------------------------- def start super create_command_window end #-------------------------------------------------------------------------- # Processo pós-inicialização #-------------------------------------------------------------------------- def post_start super end #-------------------------------------------------------------------------- # Preparação para finalização #-------------------------------------------------------------------------- def pre_terminate super end #-------------------------------------------------------------------------- # Fim do processo #-------------------------------------------------------------------------- def terminate @command_window.dispose @dummy_window.dispose for sprite in @img sprite.dispose end end #-------------------------------------------------------------------------- # Retornar à tela original #-------------------------------------------------------------------------- def return_scene $scene = Scene_Title.new end #-------------------------------------------------------------------------- # Atualização da tela #-------------------------------------------------------------------------- def update super @command_window.update update_opt end #-------------------------------------------------------------------------- # Criação da janela de comandos #-------------------------------------------------------------------------- def create_command_window credits = [] for i in 0..(Credits_N.size) if i == (Credits_N.size) credits[i] = "Sair" else credits[i] = Credits_N[i] end end @command_window = Window_Command.new(172, credits) @dummy_window = Window_Base.new(172,0,372,416) @command_window.height = 416 @img = [] for i in 0..(Credits_I.size)-1 @img[i] = Sprite.new @img[i].bitmap = Cache.system(Credits_I[i]) @img[i].zoom_x = 2 @img[i].zoom_y = 2 @img[i].x = 172 @img[i].y = 0 @img[i].opacity = 0 @img[i].z = @dummy_window.z + 1 end end def update_opt if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Title.new end if @command_window.index == Credits_I.size for i in 0..(Credits_I.size)-1 @img[i].zoom_x = 2 @img[i].zoom_y = 2 @img[i].opacity = 0 if Input.trigger?(Input::C) $scene = Scene_Title.new Sound.play_decision end end else for i in 0..(Credits_I.size)-1 if i == @command_window.index @img[i].zoom_x -= 0.1 if @img[i].zoom_x > 1 @img[i].zoom_y -= 0.1 if @img[i].zoom_y > 1 @img[i].opacity += 25 if @img[i].opacity < 250 else @img[i].zoom_x = 2 @img[i].zoom_y = 2 @img[i].opacity = 0 end end end end end
class Scene_Title < Scene_Base include ST #-------------------------------------------------------------------------- # Processo principal #-------------------------------------------------------------------------- def main if $BTEST # Se for teste de batalha battle_test # Teste inicia else # Se você está jogando normal super # Vá ao processo principal end end #-------------------------------------------------------------------------- # Inicialização do processo #-------------------------------------------------------------------------- def start super load_database # Carrega o banco de dados create_game_objects # Cria os objetos do jogo check_continue # Verifica se há arquivos salvos create_command_window # Cria a janela de comandos create_title_graphic # Cria o gráfico de título play_title_music # Toca a música de título end #-------------------------------------------------------------------------- # Transição #-------------------------------------------------------------------------- def perform_transition Graphics.transition(20) end #-------------------------------------------------------------------------- # Início do processo #-------------------------------------------------------------------------- def post_start super open_command_window end #-------------------------------------------------------------------------- # Preparação para fim do processo #-------------------------------------------------------------------------- def pre_terminate super close_command_window end #-------------------------------------------------------------------------- # Fim do processo #-------------------------------------------------------------------------- def terminate super dispose_command_window snapshot_for_background dispose_title_graphic end #-------------------------------------------------------------------------- # Atualização da tela #-------------------------------------------------------------------------- def update super @command_window.update if Input.trigger?(Input::C) case @command_window.index when 0 # Novo Jogo command_new_game when 1 # Continuar command_continue when 2 command_credits when 3 # Sair command_shutdown end end update_sel end def command_credits $scene = Scene_Credits.new end #-------------------------------------------------------------------------- # Carregamento do banco de dados #-------------------------------------------------------------------------- def load_database $data_actors = load_data("Data/Actors.rvdata") $data_classes = load_data("Data/Classes.rvdata") $data_skills = load_data("Data/Skills.rvdata") $data_items = load_data("Data/Items.rvdata") $data_weapons = load_data("Data/Weapons.rvdata") $data_armors = load_data("Data/Armors.rvdata") $data_enemies = load_data("Data/Enemies.rvdata") $data_troops = load_data("Data/Troops.rvdata") $data_states = load_data("Data/States.rvdata") $data_animations = load_data("Data/Animations.rvdata") $data_common_events = load_data("Data/CommonEvents.rvdata") $data_system = load_data("Data/System.rvdata") $data_areas = load_data("Data/Areas.rvdata") end #-------------------------------------------------------------------------- # Carregamento do banco de dados para teste de batalha #-------------------------------------------------------------------------- def load_bt_database $data_actors = load_data("Data/BT_Actors.rvdata") $data_classes = load_data("Data/BT_Classes.rvdata") $data_skills = load_data("Data/BT_Skills.rvdata") $data_items = load_data("Data/BT_Items.rvdata") $data_weapons = load_data("Data/BT_Weapons.rvdata") $data_armors = load_data("Data/BT_Armors.rvdata") $data_enemies = load_data("Data/BT_Enemies.rvdata") $data_troops = load_data("Data/BT_Troops.rvdata") $data_states = load_data("Data/BT_States.rvdata") $data_animations = load_data("Data/BT_Animations.rvdata") $data_common_events = load_data("Data/BT_CommonEvents.rvdata") $data_system = load_data("Data/BT_System.rvdata") end #-------------------------------------------------------------------------- # Criação dos objetos do jogo #-------------------------------------------------------------------------- def create_game_objects $game_temp = Game_Temp.new $game_message = Game_Message.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new end #-------------------------------------------------------------------------- # Verifica se há arquivos salvos #-------------------------------------------------------------------------- def check_continue @continue_enabled = (Dir.glob('Save*.rvdata').size > 0) end #-------------------------------------------------------------------------- # Criação do gráfico de título #-------------------------------------------------------------------------- def create_title_graphic @sprite = Sprite.new @sprite.bitmap = Cache.system(BG) @opt = [] for i in 0..3 @opt[i] = Sprite.new @opt[i].bitmap = Cache.system(Opt+"#{i+1}") end @i = -1 update_sel end #-------------------------------------------------------------------------- # Atualiza as imagens #-------------------------------------------------------------------------- def update_sel if @i != @command_window.index @i = @command_window.index case @command_window.index when 0 @o = [true,false,false,false] when 1 @o = [false,true,false,false] when 2 @o = [false,false,true,false] when 3 @o = [false,false,false,true] end end for i in 0..3 if @o[i] == true and @opt[i].opacity < 255 @opt[i].opacity += 5 @opt[i].blend_type = 0 elsif @o[i] == false and @opt[i].opacity > 120 @opt[i].opacity -= 5 @opt[i].blend_type = 1 end @opt[i].update end end #-------------------------------------------------------------------------- # Dispose do gráfico de título #-------------------------------------------------------------------------- def dispose_title_graphic for i in 0..3 @opt[i].dispose end @sprite.bitmap.dispose @sprite.dispose end #-------------------------------------------------------------------------- # Criação da janela de comandos #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::new_game s2 = Vocab::continue s3 = "Creditos" s4 = Vocab::shutdown @command_window = Window_Command.new(428, [s1,s2,s3,s4], 2, 2) @command_window.x = (544 - @command_window.width) / 2 @command_window.y = 288 if @continue_enabled # Se houver arquivos salvos @command_window.index = 1 # Opção habilitada else # Se não houver arquivos salvos @command_window.draw_item(1, false) # Opção desabilitada end @command_window.openness = 0 @command_window.open @command_window.x = -1000 end #-------------------------------------------------------------------------- # Dispose da janela de comandos #-------------------------------------------------------------------------- def dispose_command_window @command_window.dispose end #-------------------------------------------------------------------------- # Abre a janela de comandos #-------------------------------------------------------------------------- def open_command_window @command_window.open begin @command_window.update Graphics.update end until @command_window.openness == 255 end #-------------------------------------------------------------------------- # Fecha a janela de comandos #-------------------------------------------------------------------------- def close_command_window @command_window.close begin @command_window.update Graphics.update end until @command_window.openness == 0 end #-------------------------------------------------------------------------- # Toca a música de título #-------------------------------------------------------------------------- def play_title_music $data_system.title_bgm.play RPG::BGS.stop RPG::ME.stop end #-------------------------------------------------------------------------- # Verifica se há uma Posição Inicial de Personagem #-------------------------------------------------------------------------- def confirm_player_location if $data_system.start_map_id == 0 print "A Posição Inicial de Personagem não foi definida." exit end end #-------------------------------------------------------------------------- # Comando: Novo Jogo #-------------------------------------------------------------------------- def command_new_game confirm_player_location Sound.play_decision $game_party.setup_starting_members # A equipe (party) inicial $game_map.setup($data_system.start_map_id) # Posição inicial no mapa $game_player.moveto($data_system.start_x, $data_system.start_y) $game_player.refresh $scene = Scene_Map.new RPG::BGM.fade(1500) close_command_window Graphics.fadeout(60) Graphics.wait(40) Graphics.frame_count = 0 RPG::BGM.stop $game_map.autoplay end #-------------------------------------------------------------------------- # Comando: Continuar #-------------------------------------------------------------------------- def command_continue if @continue_enabled Sound.play_decision $scene = Scene_File.new(false, true, false) else Sound.play_buzzer end end #-------------------------------------------------------------------------- # Comando: Sair #-------------------------------------------------------------------------- def command_shutdown Sound.play_decision RPG::BGM.fade(800) RPG::BGS.fade(800) RPG::ME.fade(800) $scene = nil end #-------------------------------------------------------------------------- # Teste de batalha #-------------------------------------------------------------------------- def battle_test load_bt_database # Carrega o banco de dados para o teste create_game_objects # Cria os objetos do jogo Graphics.frame_count = 0 # Inicialização da contagem de frames $game_party.setup_battle_test_members $game_troop.setup($data_system.test_troop_id) $game_troop.can_escape = true $game_system.battle_bgm.play snapshot_for_background $scene = Scene_Battle.new end end
- Código:
-
#============================================================================== # Scene_Press_Start #------------------------------------------------------------------------------ # Criado por VitorJ, # Adiciona uma tela antes do titulo que sera a tela que ira esperar o jogador # pressionar Enter, ou outra tecla costumizada. #------------------------------------------------------------------------------ # Para usa-lo você deve cola-lo acima do main, E editar uma linha do main. # Substitua isso: # "$scene = Scene_Title.new" por isso "$scene = Scene_Press_Start.new" #------------------------------------------------------------------------------ # As imagens devem estar na pasta Gaphics\System\ #============================================================================== module SPS #[Nome,Volume,Velocidade] BGM = ["Scene1",100,100] # Musica que vai ser tocada deve está na pasta bgm SE = ["Save",100,100] # SE que vai tocar ao apertar enter Back = "PS_BG" # Imagem de fundo Back_Mov = [0,0] # Movimento da imagem de fundo [x,y] Back_Opac = 255 # Opacidade da imagem de fundo Back_Blend = 0 # Tipo de efeito (0=normal,1=mais brilho,2=inverter) Fog = "PS_Fog" # Imagem que vai ficar sobre a imagem de fundo Fog_Mov = [1,0] # Movimento da imagem de fog Fog_Opac = 100 # Opacidade da imagen de fog Fog_Blend = 1 # Tipo de efeito (0=normal,1=mais brilho,2=inverter) Title = "PS_Title" # Imagen com o texto do titulo Title_Opac = 255 # Opacidade do titulo PS = "Press_Start" # Imagen do texto para pressionar enter PS_Blend = 0 # Tipo de efeito (0=normal,1=mais brilho,2=inverter) end class Scene_Press_Start < Scene_Base include SPS #-------------------------------------------------------------------------- # Inicialização do processo #-------------------------------------------------------------------------- def start super Audio.bgm_play("Audio/BGM/"+BGM[0],BGM[1],BGM[2]) if BGM[0] != "" create_sprites end #-------------------------------------------------------------------------- # Criação das Imagens #-------------------------------------------------------------------------- def create_sprites @p = false @bg = Plane.new @bg.bitmap = Cache.system(Back) @bg.opacity = Back_Opac @bg.blend_type = Back_Blend @fog = Plane.new @fog.bitmap = Cache.system(Fog) @fog.opacity = Fog_Opac @fog.blend_type = Fog_Blend @title = Sprite.new @title.bitmap = Cache.system(Title) @title.opacity = Title_Opac @ps = Sprite.new @ps.bitmap = Cache.system(PS) @ps.blend_type = PS_Blend end #-------------------------------------------------------------------------- # Fim do processo #-------------------------------------------------------------------------- def terminate dispose_sprites end #-------------------------------------------------------------------------- # Deleta as Imagens #-------------------------------------------------------------------------- def dispose_sprites @bg.dispose @fog.dispose @title.dispose @ps.dispose end #-------------------------------------------------------------------------- # Atualização da tela #-------------------------------------------------------------------------- def update super if Input.trigger?(Input::C) Audio.se_play("Audio/SE/"+SE[0],SE[1],SE[2]) if SE[0] != "" $scene = Scene_Title.new end update_sprites end #-------------------------------------------------------------------------- # Atualização das Imagens #-------------------------------------------------------------------------- def update_sprites @bg.ox += Back_Mov[0] @bg.oy += Back_Mov[1] @fog.ox += Fog_Mov[0] @fog.oy += Fog_Mov[1] @ps.update if @p == false @ps.opacity -= 5 else @ps.opacity += 5 end if @ps.opacity <= 0 @p = true elsif @ps.opacity >= 255 @p = false end end end
Créditos e Agradecimentos
- VitorJ, Por criar.
- "MogHunter, Tirei a ideia do jogo Memories Of Mana feito por ele.." - VitorJ
|
|