PortalPortal  InícioInício  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  Conectar-se  

Compartilhe|

MOG Title Miria - XP version

Ver o tópico anterior Ver o tópico seguinte Ir em baixo
AutorMensagem
zecomeia
avatar
RPG Maker
RPG Maker

Masculino Postagens : 51
Data de inscrição : 20/08/2009


Ver perfil do usuário http://colmeia-do-ze.blogspot.com/
MensagemAssunto: MOG Title Miria - XP version Qui Dez 10, 2009 1:58 pm

MOG Title Miria - XP version
por zecomeia

Introdução

Conversão do script original VX MOG Title Miria feito por MogHunter.
Tela de título animada com efeitos wave, zoom, panorama, etc.

Características


    *Totalmente customizável


Screen Shot

http://img40.imageshack.us/img40/6921/vxmenu01im01f.png" border="0" alt="" />

Como Usar


    *Cole o script acima de main
    *Baixe o pacote de imagens a seguir:
    Pacote de imagens
    *Coloque todas as imagens na pasta Graphics/Titles, as imagens são:
    Title - Imagem que contem o texto do título
    Transition - Imagem da transição de tela
    Plane1 - Imagem da camada 1
    Plane2 - Imagem da camada 2
    Plane3 - Imagem da camada 3
    Com_01 - Imagem do menu seleção NEW GAME
    Com_02 - Imagem do menu seleção CONTINUE
    Com_03 - Imagem do menu seleção EXIT


*OBS:edite as imagens à vontade, mas mantenha com o mesmo nome os arquivos.

Demo

DEMO

script

Código:
#==================================================
# Scene Title Screen Miria XP version
#
# By zecomeia
# http://colmeia-do-ze.blogspot.com/
#--------------------------------------------------
# Original version for RMVX:
# Scene Title Screen Miria V1.0                                 
#
# By Moghunter
# http://www.atelier-rgss.com
#==================================================
# Tela de titulo animada
# Coloque todas as imagens na pasta Graphics/Titles
# São necessárias as seguintes imagens
#
# Title        #Imagem que contem o texto do título
# Transition  #Imagem da transição de tela
# Plane1      #Imagem da camada 1
# Plane2      #Imagem da camada 2
# Plane3      #Imagem da camada 3
# Com_01      #Imagem do menu seleção NEW GAME
# Com_02      #Imagem do menu seleção CONTINUE
# Com_03      #Imagem do menu seleção EXIT
#
#==================================================

#============#
#  CONFIG  #
#============#
module MOG_VX01
#Ativar tela cheia.    (true = Ativar ou false = Desativar)
FULL_SCREEN = false
# Tempo de transição.
TT = 20
#Ativar movimento de Onda no texto do titulo.
# (true = Ativar ou false = Desativar)
TWAVE = true
#Opacidade da imagem camada 1.
TPLANE1_OPA = 255
#Opacidade da imagem camada 2.
TPLANE2_OPA = 200
#Opacidade da imagem camada 3
TPLANE3_OPA = 170
# Velocidade de movimento da camada 1 na horizontal.
TPLANE1_X = 1
# Velocidade de movimento da camada 1 na vertical.
TPLANE1_Y = 0
# Velocidade de movimento da camada 2 na horizontal.
TPLANE2_X = 2
# Velocidade de movimento da camada 2 na vertical.
TPLANE2_Y = 0
# Velocidade de movimento da camada 2 na horizontal.
TPLANE3_X = 4
# Velocidade de movimento da camada 2 na vertical.
TPLANE3_Y = 0
end
#-------------------------------------------------
$mogscript = {} if $mogscript == nil
$mogscript["title_miria"] = true
#-------------------------------------------------

#=============#
# Scene_Title #
#=============#
$full_screen = 0
class Scene_Title
include  MOG_VX01
    def main
    if $BTEST                     
      battle_test                   
    return
    end     
    $full_screen += 1
    if MOG_VX01::FULL_SCREEN == true and $full_screen == 1
    $showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ' '
    $showm.call(18,0,0,0)
    $showm.call(13,0,0,0)
    $showm.call(13,0,2,0)
    $showm.call(18,0,2,0)
    end   
    start                       
    perform_transition         
    Input.update               
    loop do
      Graphics.update           
      Input.update               
      update                     
      break if $scene != self   
    end
    Graphics.update
    Graphics.freeze             
    terminate                   
  end
  def start
    load_database                   
    create_game_objects           
    check_continue                   
    create_title_graphic           
    create_command_window       
    play_title_music               
  end
  def perform_transition
    Graphics.transition(TT , "Graphics/Titles/Transition")
  end
  def terminate
    dispose_command_window
    dispose_title_graphic
  end
  def update
    @command_window.update
    case @command_window.index
    when 0
    @com.bitmap = RPG::Cache.title("Com_01")
    when 1
    @com.bitmap = RPG::Cache.title("Com_02") 
    when 2
    @com.bitmap = RPG::Cache.title("Com_03")
  end     
    @sprite_title.opacity += 2
    @com.opacity += 2 if @sprite_title.opacity > 150
    @sprite.ox += TPLANE1_X
    @sprite.oy += TPLANE1_Y
    @sprite2.ox += TPLANE2_X
    @sprite2.oy += TPLANE2_Y
    @sprite3.ox += TPLANE3_X
    @sprite3.oy += TPLANE3_Y
    @sprite_title.update if TWAVE == true
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0 
        command_new_game
      when 1 
        command_continue
      when 2 
        command_shutdown
      end
    end
  end
  def update_slide
    @sprite.ox += TPLANE1_X
    @sprite.oy += TPLANE1_Y
    @sprite2.ox += TPLANE2_X
    @sprite2.oy += TPLANE2_Y
    @sprite3.ox += TPLANE3_X
    @sprite3.oy += TPLANE3_Y
    @sprite_title.update if TWAVE == true   
  end
  def load_database
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes      = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items        = load_data("Data/Items.rxdata")
    $data_weapons      = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies      = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
  end
  def load_bt_database
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes      = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items        = load_data("Data/BT_Items.rxdata")
    $data_weapons      = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies      = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
  end
  def create_game_objects
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables    = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.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
  def check_continue
    @continue_enabled = (Dir.glob('Save*.rxdata').size > 0)
  end
  def create_title_graphic
    @sprite_title = Sprite.new   
    @sprite_title.bitmap = RPG::Cache.title("Title") 
    @sprite_title.opacity = 0
    @com = Sprite.new
    @com.bitmap = RPG::Cache.title("Com_01") 
    @com.opacity = 0
    @sprite = Plane.new   
    @sprite.bitmap = RPG::Cache.title("Plane1")
    @sprite2 = Plane.new
    @sprite2.bitmap = RPG::Cache.title("Plane2")
    @sprite3 = Plane.new   
    @sprite3.bitmap = RPG::Cache.title("Plane3")
    @sprite.opacity = TPLANE1_OPA
    @sprite2.opacity = TPLANE2_OPA   
    @sprite3.opacity = TPLANE3_OPA   
    @sprite.z  = 1
    @sprite2.z = 2
    @sprite3.z = 3
    @com.z = 4
    @sprite_title.z = 5   
  if TWAVE == true
    @sprite_title.wave_amp = 8
    @sprite_title.wave_length = 240
    @sprite_title.wave_speed = 320
  end
    end
  def dispose_title_graphic
    @sprite.bitmap.dispose
    @sprite2.bitmap.dispose
    @sprite3.bitmap.dispose   
    @com.bitmap.dispose   
    @sprite_title.bitmap.dispose
    @sprite.dispose
    @sprite2.dispose
    @sprite3.dispose
    @com.dispose   
    @sprite_title.dispose
  end
  def create_command_window
    s1 = "Novo Jogo"
    s2 = "Continuar"
    s3 = "Sair"
    @command_window = Window_Command.new(172, [s1, s2, s3])
    @command_window.opacity = 0
    @command_window.contents_opacity = 0
    if @continue_enabled                 
      @command_window.index = 1           
    else                             
      @command_window.draw_item(1, Color.new(255, 255, 255, 255)) 
    end
  end
  def title_fade
  if TWAVE == true   
    @sprite_title.wave_amp = 34
    @sprite_title.wave_length = 120
    @sprite_title.wave_speed = 800
    end   
    for i in 0..120
    @sprite_title.opacity -= 3   
    @sprite_title.update if TWAVE == true   
    @com.opacity -= 3
    case @command_window.index
    when 0   
    @sprite.zoom_x += 0.01
    @sprite.zoom_y += 0.01 
    @sprite2.zoom_x += 0.01
    @sprite2.zoom_y += 0.01     
    @sprite3.zoom_x += 0.01
    @sprite3.zoom_y += 0.01     
    @sprite.ox += 2
    @sprite.oy += 2
    @sprite2.ox += 2
    @sprite2.oy += 2
    @sprite3.ox += 2
    @sprite3.oy += 2   
    end
    update_slide
    Graphics.update 
    end       
  end 
  def dispose_command_window
    @command_window.dispose
  end
  def play_title_music
    $game_system.bgm_play($data_system.title_bgm)
    Audio.bgs_stop
    Audio.me_stop
  end
  def confirm_player_location
    if $data_system.start_map_id == 0
      print "プレイヤーの初期位置が設定されていません。"
      exit
    end
  end
  def command_new_game
    confirm_player_location
    $game_system.se_play($data_system.decision_se)
    title_fade
    $game_party.setup_starting_members       
    $game_map.setup($data_system.start_map_id) 
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    $scene = Scene_Map.new
    Audio.bgm_fade(500)
    20.times do
      @sprite.opacity -= 12
      @sprite2.opacity -= 12
      @sprite3.opacity -= 12
      Graphics.update
    end
    @sprite.opacity -= 1
    @sprite2.opacity -= 1
    @sprite3.opacity -= 1
    Graphics.frame_count = 0
    Audio.bgm_stop
    $game_map.autoplay
  end
  def command_continue
    if @continue_enabled
      $game_system.se_play($data_system.decision_se)
      title_fade
      $scene = Scene_Load.new
    else
      $game_system.se_play($data_system.buzzer_se)
    end
  end
  def command_shutdown   
    $game_system.se_play($data_system.decision_se)
    title_fade
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    $scene = nil
  end
  def battle_test
    load_bt_database             
    create_game_objects       
    Graphics.frame_count = 0         
    $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
  def snapshot_for_background
    $game_temp.background_bitmap.dispose
    $game_temp.background_bitmap = Graphics.snap_to_bitmap
    $game_temp.background_bitmap.blur
  end
end
#============#
#  Sprite  #
#============#
class Sprite
  include Math
  attr_accessor  :wave_amp
  attr_accessor  :wave_length
  attr_accessor  :wave_speed
  alias default_initialize initialize
  def initialize(viewport=nil)
    @wave_amp = 0
    @wave_length = 180
    @wave_speed = 360
    @wave_phase = 0.0   
    default_initialize(viewport)
    @temp_bitmap = nil
  end
  alias default_update update
  def update
    wave_effect if wave_amp != 0
    default_update
  end
  #---------------
  # Wave Effect
  #---------------
  def wave_effect
    return if bitmap.nil?
    2.times do
      @temp_bitmap = bitmap if @temp_bitmap.nil?     
      cw = @temp_bitmap.width + (@wave_amp * 2)
      ch = @temp_bitmap.height
      divisions = @temp_bitmap.height/8.to_i
      divisions += 1 if @temp_bitmap.height%8 != 0
      src_rect = Array.new
      self.bitmap = Bitmap.new(cw, ch)
      phase_diference_rect = 0
      for i in 0..divisions
        phase_diference_rect += @wave_amp+(@wave_speed*2)/@wave_length.to_f*2
        x = @wave_amp*Math.sin(2*PI*@wave_length + Math.deg_to_rad(@wave_phase+phase_diference_rect))
        src_rect = Rect.new(0, i*8, @temp_bitmap.width, 8)
        dest_rect = Rect.new(@wave_amp/2+x, i*8, @temp_bitmap.width, 8)
        self.bitmap.stretch_blt(dest_rect, @temp_bitmap, src_rect)
      end
      @wave_phase += ((@wave_speed/3.0)*2)/360.to_f
      @wave_phase -= 360 if @wave_phase > 360
      @wave_phase += 360 if @wave_phase < 0
    end
  end
end
#=================#
#  module Math  #
#=================#
module Math
  #-------------------------------
  # Conversion Degree to Radian
  #-------------------------------
  def Math.deg_to_rad(deg_number)
    return (deg_number*PI)/180.to_f
  end
end

Créditos e Agradecimentos
zecomeia pela versão para XP
MogHunter pelo script original para VX



scripts RGSS, Resources, Tutorials and Translations by zecomeia is licensed under a
Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.
Permissions beyond the scope of this license may be available at Santuário RPG Maker
Voltar ao Topo Ir em baixo
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: Re: MOG Title Miria - XP version Qui Dez 10, 2009 5:11 pm

Opá zecomeia!

O title é bem bonito e customizável, ainda bem que tem para RMXP agora XD.
Talvez eu usarei em meu projeto... quem sabe.

Mais Honra pra você!

Até o/

_________________________________________
Voltar ao Topo Ir em baixo
zecomeia
avatar
RPG Maker
RPG Maker

Masculino Postagens : 51
Data de inscrição : 20/08/2009


Ver perfil do usuário http://colmeia-do-ze.blogspot.com/
MensagemAssunto: Re: MOG Title Miria - XP version Sex Dez 11, 2009 2:15 pm

Vlw Doug, vou ver se da tempo de trazer a versão VX para o forum hoje também.

T+
Voltar ao Topo Ir em baixo
zero
avatar
Membro Especial
Membro Especial

Postagens : 301
Data de inscrição : 14/05/2009


Ver perfil do usuário http://animechaos.forumeiros.com/
MensagemAssunto: Re: MOG Title Miria - XP version Sex Dez 11, 2009 2:31 pm

E um title muito bom....Estou agaurdando a versão para vx.
Voltar ao Topo Ir em baixo
zecomeia
avatar
RPG Maker
RPG Maker

Masculino Postagens : 51
Data de inscrição : 20/08/2009


Ver perfil do usuário http://colmeia-do-ze.blogspot.com/
MensagemAssunto: Re: MOG Title Miria - XP version Seg Dez 14, 2009 2:31 pm

Vlw zero ^^

Não precisa mais aguardar, aqui está a versão VX:

http://www.twevergrand.com/rpg-maker-vx-f34/mog-title-miria-t701.htm#2555

T+
Voltar ao Topo Ir em baixo
Conteúdo patrocinado




MensagemAssunto: Re: MOG Title Miria - XP version

Voltar ao Topo Ir em baixo

MOG Title Miria - XP version

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
The World of EverGrand :: Programação em Linguagens :: Ruby Game Scripting System :: Scripts :: RPG Maker XP-