타이틀/게임오버

New Title Screen

by Man... posted Oct 28, 2008
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
New Title Screen
Version
1.0
Author puppeto4
Release Date 13th April

Introduction

So,I'm tired of stupid drama that goes around and can't really focus on my main project script(look at my sig if you want to know what is it)and I'm not really in mood today,so I'd decide to make a simple script to relax myself from those dramas.


Features

Title screen won't display "Continue" if there is no save file for the game(simple isn't it?)

Script

Download from attachment :

[attachment=555:New_Title_Screen.txt]

Or copy the script in the spoiler below.
다음은 스크립틍 입니다.
#============================================================================
# ** New Title Screen
#----------------------------------------------------------------------------
# Author  : puppeto4
# Version : 1.0
# Date    : 13th April 2008
#============================================================================


#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  This class performs the title screen processing.
#==============================================================================

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # * 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
    play_title_music                  # Play title screen music
    if @continue_enabled              # If continue is enabled
      create_command_window           # Create command window
    else
      create_command2_window          # Create command window
    end  
  end
  #--------------------------------------------------------------------------
  # * Post-Start Processing
  #--------------------------------------------------------------------------
  def post_start
    super
    if @continue_enabled              # If continue is enabled
      open_command_window
    else
      open_command2_window
    end  
  end
  #--------------------------------------------------------------------------
  # * Pre-termination Processing
  #--------------------------------------------------------------------------
  def pre_terminate
    super
    if @continue_enabled              # If continue is enabled
      close_command_window
    else
      close_command2_window
    end  
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    snapshot_for_background
    dispose_title_graphic
    if @continue_enabled              # If continue is enabled
      dispose_command_window
    else
      dispose_command2_window
    end  
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    if @continue_enabled              # If continue is enabled
      super
      @command_window.update
      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
    else  
      super
      @command2_window.update
      if Input.trigger?(Input::C)
        case @command2_window.index
        when 0    #New game
          command_new_game
        when 1    # Shutdown
          command_shutdown
        end
      end
    end  
  end
  #--------------------------------------------------------------------------
  # * Create Command2 Window
  #--------------------------------------------------------------------------
  def create_command2_window
    s1 = Vocab::new_game
    s2 = Vocab::shutdown
    @command2_window = Window_Command.new(172, [s1, s2])
    @command2_window.x = (544 - @command2_window.width) / 2
    @command2_window.y = 288
    @command2_window.openness = 0
    @command2_window.open
  end
  #--------------------------------------------------------------------------
  # * Dispose of Command2 Window
  #--------------------------------------------------------------------------
  def dispose_command2_window
    @command2_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Open Command2 Window
  #--------------------------------------------------------------------------
  def open_command2_window
    @command2_window.open
    begin
      @command2_window.update
      Graphics.update
    end until @command2_window.openness == 255
  end
  #--------------------------------------------------------------------------
  # * Close Command2 Window
  #--------------------------------------------------------------------------
  def close_command2_window
    @command2_window.close
    begin
      @command2_window.update
      Graphics.update
    end until @command2_window.openness == 0
  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)
    if @continue_enabled              # If continue is enabled
      close_command_window
    else
      close_command2_window
    end  
    Graphics.fadeout(60)
    Graphics.wait(40)
    Graphics.frame_count = 0
    RPG::BGM.stop
    $game_map.autoplay
  end
end