Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Animated Title Screen Script (VX to XP Conversion)

Nolund

Sponsor

I happened across this script the other day (though I cannot remember where it's from) and fell in love with it. I was hoping to get it on RMXP as well, but it doesn't work. If anyone knows if there is an XP version already out there, or can make it work for XP, I would be greatly appreciative.

Script:
Code:
#==============================================================================

#  Hanzo Kimura's Animated Title Screen

#  Scripted Date: 02/24/09

#  PLEASE CREDIT: Hanzo Kimura

#  if Your going to use this script for your title

#

#  IMAGES USED(All in Graphics/System) Folder:

#     "TitleBGLoop.jpg" - For Scrolling Upward Effect

#     "TitleBGSprite.jpg" - For Horizantally Endless Scrolling 

#     "TitleCursor.png" - For the title cursor

#     "TitleMenu01.png" - For the title Menu (First Menu Active)

#     "TitleMenu02.png" - For the title Menu (Second Menu Active)

#     "TitleMenu03.png" - For the title Menu (Third Menu Active)

#     "TitleLogo.png" - For the Title Logo

#     "TitleSpark01.png" - For the Title Spark

#     "TitleSpark02.png" - For the Title Spark

#     "TitleSymbol.png" - For the Title Symbol

#     "TitleCursorStrike01.png" - For Title Cursor Strike Effect(Left)

#     "TitleCursorStrike02.png" - For Title Cursor Strike Effect(Right)

#

#

$TITLE_MENU_X = 200     # Your Title Menu X Position

$TITLE_MENU_Y = 260     # Your Title Menu Y Position

$LOGO_X = 0             # Your Logo X Position

$LOGO_Y = 0             # Your Logo Y Position

$SPARK_COUNT = 350      # SPARK COUNT: Frames Before the Spark Appears again

$SPARK_SPEED = 10       # The Speed of the Sparks

$MENU_NEW = 260         # THE Y Position of the Cursor if NEW GAME

$MENU_CONTINUE = 305    # THE Y Position of the Cursor if CONTINUE

$MENU_EXIT = 345           # THE Y Position of the Cursor if EXIT

$SYMBOL_SPEED = 1

 

 

#DONT EDIT BELOW

$titleloop = 1

$SYMBOL_RESET = false

#------------------------------------------------------------------------------

#  This class performs the title screen processing.

#==============================================================================

 

class Scene_Title < Scene_Base

  #--------------------------------------------------------------------------

  # * Initialize

  #--------------------------------------------------------------------------

  def initialize

      end

  #--------------------------------------------------------------------------

  # * Main Processing

  #--------------------------------------------------------------------------

  def main

    if $BTEST                         # If battle test

      battle_test                     # Start battle test

    else                              # If normal play

      super                           # Usual main processing

    end

  end

  #--------------------------------------------------------------------------

  # * Start processing

  #--------------------------------------------------------------------------

  def start

    super

    load_database                     # Load database

    create_game_objects               # Create game objects

    check_continue                    # Determine if continue is enabled

    create_title_graphic              # Create title graphic

    create_command_window             # Create command window

    play_title_music                  # Play title screen music

  end

  #--------------------------------------------------------------------------

  # * Execute Transition

  #--------------------------------------------------------------------------

  def perform_transition

    Graphics.transition(20)

  end

  #--------------------------------------------------------------------------

  # * Post-Start Processing

  #--------------------------------------------------------------------------

  def post_start

    super

    open_command_window

  end

  #--------------------------------------------------------------------------

  # * Pre-termination Processing

  #--------------------------------------------------------------------------

  def pre_terminate

    super

    close_command_window

  end

  #--------------------------------------------------------------------------

  # * Termination Processing

  #--------------------------------------------------------------------------

  def terminate

    super

    dispose_command_window

    snapshot_for_background

    dispose_title_graphic

  end

  #--------------------------------------------------------------------------

  # * Frame Update

  #--------------------------------------------------------------------------

  def update

    super

     #=======Wave Animation=========

     @wave.update

     #=======Symbol Animation=========

     @symbol.ox -= $SYMBOL_SPEED

     if $SYMBOL_RESET == true && @symbol.opacity == 0

          $SYMBOL_RESET = false

        elsif @symbol.opacity != 255

          @symbol.opacity += 3

        end

     #=======Spark Animation========

     @spark01.x += $SPARK_SPEED

     @spark02.x -= $SPARK_SPEED

     if $SPARK_COUNT != 0

       $SPARK_COUNT -= 1

     else

       $SPARK_COUNT = 350

       @spark01.x = -172

       @spark02.x = 544

     end

     if @spark01.opacity != 255

       @spark01.opacity += 20

       @spark02.opacity += 20

     end

    #=======Background Animation=========

    if @sprite.oy != 0

      @sprite.oy -= 1

    elsif @sprite.oy == 0

      @sprite.ox += 1

    end

    if @wave.oy != 0

      @wave.oy -= 1

    elsif @wave.oy == 0

      if $TITLE_LOOP == 1 && @wave.ox != 1289

        @wave.ox += 1

      else

        $TITLE_LOOP == 2

      end

      if $TITLE_LOOP == 2 && @wave.ox != -1189

        @wave.ox -= 1

      else

        $TITLE_LOOP == 1

      end

    end

    #=======Menu Animation=========

    case @command_window.index

      when 0

        @spark01.y = $MENU_NEW - 20

        @spark02.y = $MENU_NEW

        @symbol.oy = $MENU_NEW + 183

        @strike1.y = $MENU_NEW

        @strike2.y = $MENU_NEW

        if @menu01.opacity != 255

          @menu01.opacity += 20

          @menu02.opacity -= 20

          @menu03.opacity -= 20

        end

        if @cursor.y != $TITLE_MENU_Y

          @cursor.y -= 5

          end

      when 1

        @spark01.y = $MENU_CONTINUE - 20

        @spark02.y = $MENU_CONTINUE

        @symbol.oy = $MENU_CONTINUE + 93

        @strike1.y = $MENU_CONTINUE

        @strike2.y = $MENU_CONTINUE

        if @menu02.opacity != 255

          @menu02.opacity += 20

          @menu01.opacity -= 20

          @menu03.opacity -= 20

        end

        if @cursor.y != $MENU_CONTINUE && @cursor.y < $MENU_CONTINUE

          @cursor.y += 5

          elsif @cursor.y != $MENU_CONTINUE && @cursor.y > $MENU_CONTINUE

          @cursor.y -= 5

          end

      when 2

        @spark01.y = $MENU_EXIT - 20

        @spark02.y = $MENU_EXIT

        @symbol.oy = $MENU_EXIT + 13

        @strike1.y = $MENU_EXIT

        @strike2.y = $MENU_EXIT

        if @menu03.opacity != 255

          @menu03.opacity += 20

          @menu02.opacity -= 20

          @menu01.opacity -= 20

        end

        if @cursor.y != $MENU_EXIT

          @cursor.y += 5

        end

      end

    @command_window.update

      #=======Cursor Animation=========

  if @strike1.x != 0

    @strike1.x += 11

  end

  if @strike2.x != 308

    @strike2.x -= 12

  end

      check_menu

    if Input.trigger?(Input::C)

      case @command_window.index

      when 0    #New game

        command_new_game

      when 1    # Continue

        command_continue

      when 2    # Shutdown

        command_shutdown

      end

    end

  end

  #--------------------------------------------------------------------------

  # * Checking Current Menu

  #--------------------------------------------------------------------------

  def check_menu

    if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)

      $SPARK_COUNT = 350

      @spark01.x = -172

      @spark02.x = 640

      @spark01.opacity -= 255

      @spark02.opacity -= 255

      @symbol.opacity -= 255

      $SYMBOL_RESET = true

    case @command_window.index

      when 0

        @spark01.y = 280

        @spark02.y = 300

        @symbol.oy = 403

        @strike1.y = 300

        @strike2.y = 300

        @strike1.x = -330

        @strike2.x = 680

      when 1

        @spark01.y = 325

        @spark02.y = 345

        @symbol.oy = 358

        @strike1.y = 345

        @strike2.y = 345

        @strike1.x = -330

        @strike2.x = 680

      when 2

        @spark01.y = 365

        @spark02.y = 385

        @symbol.oy = 317

        @strike1.y = 385

        @strike2.y = 385

        @strike1.x = -330

        @strike2.x = 680

      end

    end

  end

  #--------------------------------------------------------------------------

  # * Load Database

  #--------------------------------------------------------------------------

  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

  #--------------------------------------------------------------------------

  # * Load Battle Test Database

  #--------------------------------------------------------------------------

  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

  #--------------------------------------------------------------------------

  # * Create Game Objects

  #--------------------------------------------------------------------------

  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

  #--------------------------------------------------------------------------

  # * Determine if Continue is Enabled

  #--------------------------------------------------------------------------

  def check_continue

    @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)

  end

  #--------------------------------------------------------------------------

  # * Create Title Graphic

  #--------------------------------------------------------------------------

  def create_title_graphic

    @viewport1 = Viewport.new(0, 0, 1288, 891)

    @viewport2 = Viewport.new(0, 0, 824, 480)

    @viewport2.z = 10

    @sprite = Plane.new(@viewport1)

    @sprite.bitmap = Cache.system("TitleBGLoop")

    @sprite.oy = 371

    @sprite.ox = 100

    @sprite.z = -100

    @wave = Sprite.new(@viewport1)

    @wave.bitmap = Cache.system("TitleBGSprite")

    @wave.oy = 371

    @wave.ox = 100

    @wave.wave_amp = 50

    @wave.wave_length = 440

    @wave.wave_speed = 1250   

    @wave.opacity = 125

    @wave.z = 5

    @logo = Sprite.new

    @logo.bitmap = Cache.system("TitleLogo")

    @logo.x = $LOGO_X

    @logo.y = $LOGO_Y

    @logo.z = 10

    @menu01 = Sprite.new

    @menu01.bitmap = Cache.system("TitleMenu01")

    @menu01.x = $TITLE_MENU_X

    @menu01.y = $TITLE_MENU_Y

    @menu02 = Sprite.new

    @menu02.bitmap = Cache.system("TitleMenu02")

    @menu02.x = $TITLE_MENU_X

    @menu02.y = $TITLE_MENU_Y

    @menu02.opacity = 0

    @menu03 = Sprite.new

    @menu03.bitmap = Cache.system("TitleMenu03")

    @menu03.x = $TITLE_MENU_X

    @menu03.y = $TITLE_MENU_Y

    @menu03.opacity = 0

    @cursor = Sprite.new

    @cursor.bitmap = Cache.system("TitleCursor")

    @cursor.x = $TITLE_MENU_X

    @cursor.y = $TITLE_MENU_Y

    @cursor.z = 12

    @strike1 = Sprite.new

    @strike1.bitmap = Cache.system("TitleCursorStrike01")

    @strike1.x = 0

    @strike1.y = 300

    @strike1.z = 9

    @strike2 = Sprite.new

    @strike2.bitmap = Cache.system("TitleCursorStrike02")

    @strike2.x = 308

    @strike2.y = 300

    @strike2.z = 9

    @symbol = Plane.new(@viewport2)

    @symbol.bitmap = Cache.system("TitleSymbol")

    @symbol.oy = 403

    @symbol.ox = 100

    @spark01 = Sprite.new

    @spark01.bitmap = Cache.system("TitleSpark01")

    @spark01.y = 280

    @spark01.x = -172

    @spark01.z = 12

    @spark02 = Sprite.new

    @spark02.bitmap = Cache.system("TitleSpark02")

    @spark02.y = 300

    @spark02.x = 640

    @spark02.z = 12

    @menu01.z = @menu02.z = @menu03.z = 13

    if @continue_enabled  

      @menu01.opacity = 0

      @menu02.opacity = 255

      @cursor.y = 345

      @strike1.y = 345

      @strike2.y = 345

      @symbol.oy = 358

      end

  end

  #--------------------------------------------------------------------------

  # * Dispose of Title Graphic

  #--------------------------------------------------------------------------

  def dispose_title_graphic

    @sprite.dispose

    @wave.dispose

    @logo.dispose

    @menu01.dispose

    @menu02.dispose

    @menu03.dispose

    @cursor.dispose

    @strike1.dispose

    @strike2.dispose

    @symbol.dispose

    @spark01.dispose

    @spark02.dispose

    @wave.bitmap.dispose

    @logo.bitmap.dispose

    @menu01.bitmap.dispose

    @menu02.bitmap.dispose

    @menu03.bitmap.dispose

    @cursor.bitmap.dispose

    @strike1.bitmap.dispose

    @strike2.bitmap.dispose

    @spark01.bitmap.dispose

    @spark02.bitmap.dispose

  end

  #--------------------------------------------------------------------------

  # * Create Command Window

  #--------------------------------------------------------------------------

  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.x = (640 - @command_window.width) / 2

    @command_window.y = 998

    if @continue_enabled                    # If continue is enabled

      @command_window.index = 1             # Move cursor over command

    else                                    # If disabled

      @command_window.draw_item(1, false)   # Make command semi-transparent

    end

    @command_window.openness = 0

    @command_window.open

  end

  #--------------------------------------------------------------------------

  # * Dispose of Command Window

  #--------------------------------------------------------------------------

  def dispose_command_window

    @command_window.dispose

  end

  #--------------------------------------------------------------------------

  # * Open Command Window

  #--------------------------------------------------------------------------

  def open_command_window

    @command_window.open

    begin

      @command_window.update

      Graphics.update

    end until @command_window.openness == 255

  end

  #--------------------------------------------------------------------------

  # * Close Command Window

  #--------------------------------------------------------------------------

  def close_command_window

    @command_window.close

    begin

      @command_window.update

      Graphics.update

    end until @command_window.openness == 0

  end

  #--------------------------------------------------------------------------

  # * Play Title Screen Music

  #--------------------------------------------------------------------------

  def play_title_music

    $data_system.title_bgm.play

    RPG::BGS.stop

    RPG::ME.stop

  end

  #--------------------------------------------------------------------------

  # * Check Player Start Location Existence

  #--------------------------------------------------------------------------

  def confirm_player_location

    if $data_system.start_map_id == 0

      print "Player start location not set."

      exit

    end

  end

  #--------------------------------------------------------------------------

  # * Command: New Game

  #--------------------------------------------------------------------------

  def command_new_game

    confirm_player_location

    Sound.play_decision

    $game_party.setup_starting_members            # Initial party

    $game_map.setup($data_system.start_map_id)    # Initial map position

    $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

  #--------------------------------------------------------------------------

  # * Command: Continue

  #--------------------------------------------------------------------------

  def command_continue

    if @continue_enabled

      Sound.play_decision

      $scene = Scene_File.new(false, true, false)

    else

      Sound.play_buzzer

    end

  end

  #--------------------------------------------------------------------------

  # * Command: Shutdown

  #--------------------------------------------------------------------------

  def command_shutdown

    Sound.play_decision

    RPG::BGM.fade(800)

    RPG::BGS.fade(800)

    RPG::ME.fade(800)

    $scene = nil

  end

  #--------------------------------------------------------------------------

  # * Battle Test

  #--------------------------------------------------------------------------

  def battle_test

    load_bt_database                  # Load battle test database

    create_game_objects               # Create game objects

    Graphics.frame_count = 0          # Initialize play time

    $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

 

Demo link:
http://www.mediafire.com/?jo2gwmy5y5w

I take no credit for this script. I just want to see if I can't use it on XP.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top