Main Menu

[Resolved]Help with 'keyboard events' and animated title screen.

Started by Leventhan, August 03, 2008, 02:42:24 AM

0 Members and 1 Guest are viewing this topic.

Leventhan

I'm using Moghunter's Animated Title Screen for VX below, and I want to figure out how to use the LEFT and RIGHT directional buttons to choose between the "New Game", "Continue", and "Exit" buttons rather than the default UP and DOWN.

Assistance is very appreciated!

[spoiler]##################################################
# Scene Title Screen Miria V1.0                                    #
##################################################
# By Moghunter
# http://www.atelier-rgss.com
##################################################
# Tela de titulo animada.
# Crie uma pasta com o nome deTitle dentro da pasta
# Graphics e coloque todas as imagens dentro dela.
# São necessárias as seguintes imagens.
#
# Title           #Imagem que contem o texto do titulo
# 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 = 120
#Ativar movimento de Onda no texto do titulo.
# (true = Ativar ou false = Desativar)
TWAVE = false
#Opacidade da imagem camada 1.
TPLANE1_OPA = 255
#Opacidade da imagem camada 2.
TPLANE2_OPA = 200
#Opacidade da imagem camada 3
TPLANE3_OPA = 150
# 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 = 1
# Velocidade de movimento da camada 2 na vertical.
TPLANE2_Y = 0
# Velocidade de movimento da camada 2 na horizontal.
TPLANE3_X = -2
# Velocidade de movimento da camada 2 na vertical.
TPLANE3_Y = 0
end
#-------------------------------------------------
$mogscript = {} if $mogscript == nil
$mogscript["title_miria"] = true
#-------------------------------------------------
###############
# Module Cache #
###############
module Cache
  def self.title(filename)
    load_bitmap("Graphics/Title/", filename)
  end
end
#############
# 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         
    post_start                   
    Input.update               
    loop do
      Graphics.update           
      Input.update               
      update                     
      break if $scene != self   
    end
    Graphics.update
    pre_terminate                 
    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/Title/Transition")
  end
  def post_start
    open_command_window
  end
  def pre_terminate
    close_command_window
  end
  def terminate
    dispose_command_window
    snapshot_for_background
    dispose_title_graphic
  end
  def update
    @command_window.update
     case @command_window.index
     when 0
     @com.bitmap = Cache.title("Com_01")
     when 1
     @com.bitmap = Cache.title("Com_02")   
     when 2
     @com.bitmap = 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.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
  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
  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
  def check_continue
    @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  end
  def create_title_graphic
    @sprite_title = Sprite.new   
    @sprite_title.bitmap = Cache.title("Title") 
    @sprite_title.opacity = 0
    @com = Sprite.new
    @com.bitmap = Cache.title("Com_01") 
    @com.opacity = 0
    @sprite = Plane.new   
    @sprite.bitmap = Cache.title("Plane1")
    @sprite2 = Plane.new
    @sprite2.bitmap = Cache.title("Plane2")
    @sprite3 = Plane.new   
    @sprite3.bitmap = 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 = 160
  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 = Vocab::new_game
    s2 = Vocab::continue
    s3 = Vocab::shutdown
    @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, false)   
    end
  end
  def title_fade
   if TWAVE == true   
    @sprite_title.wave_amp = 34
    @sprite_title.wave_length =120
    @sprite_title.wave_speed = 200
    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 open_command_window
    @command_window.open
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 255
  end
  def close_command_window
    @command_window.close
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 0
  end
  def play_title_music
    $data_system.title_bgm.play
    RPG::BGS.stop
    RPG::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
    Sound.play_decision
    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
    RPG::BGM.fade(1500)
    close_command_window
    Graphics.fadeout(60)
    Graphics.wait(40)
    Graphics.frame_count = 0
    RPG::BGM.stop
    $game_map.autoplay
  end
  def command_continue
    if @continue_enabled
      Sound.play_decision
      title_fade
      $scene = Scene_File.new(false, true, false)
    else
      Sound.play_buzzer
    end
  end
  def command_shutdown   
    Sound.play_decision
    title_fade
    RPG::BGM.fade(800)
    RPG::BGS.fade(800)
    RPG::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
[/spoiler]

Be kind, everyone you meet is fighting a hard battle.

Leventhan


Be kind, everyone you meet is fighting a hard battle.

modern algebra

I hate trying to read MOG scripts. I don't see why they can't index their scripts. Further, they always use pictures. That makes it graphically nice, but it also means that I have to hunt down 100 pictures just to test the script.

Anyway, enough venting.

Try changing this line:


    @command_window = Window_Command.new(172, [s1, s2, s3])


to


    @command_window = Window_Command.new(172, [s1, s2, s3], 3)


and report back to me.

Leventhan

Works perfectly <3
+rep  ;8


Sorry for giving you such trouble MA.

Be kind, everyone you meet is fighting a hard battle.

modern algebra