Initial import
This commit is contained in:
138
Scripts/RPG/Scene_Title.rb
Normal file
138
Scripts/RPG/Scene_Title.rb
Normal file
@@ -0,0 +1,138 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#==============================================================================
|
||||
# ** Scene_Title
|
||||
#------------------------------------------------------------------------------
|
||||
# This class performs the title screen processing.
|
||||
#==============================================================================
|
||||
|
||||
class Scene_Title < Scene_Base
|
||||
#--------------------------------------------------------------------------
|
||||
# * Start Processing
|
||||
#--------------------------------------------------------------------------
|
||||
def start
|
||||
super
|
||||
SceneManager.clear
|
||||
Graphics.freeze
|
||||
create_background
|
||||
create_foreground
|
||||
create_command_window
|
||||
play_title_music
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Get Transition Speed
|
||||
#--------------------------------------------------------------------------
|
||||
def transition_speed
|
||||
return 20
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Termination Processing
|
||||
#--------------------------------------------------------------------------
|
||||
def terminate
|
||||
super
|
||||
SceneManager.snapshot_for_background
|
||||
dispose_background
|
||||
dispose_foreground
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Create Background
|
||||
#--------------------------------------------------------------------------
|
||||
def create_background
|
||||
@sprite1 = Sprite.new
|
||||
@sprite1.bitmap = Cache.title1($data_system.title1_name)
|
||||
@sprite2 = Sprite.new
|
||||
@sprite2.bitmap = Cache.title2($data_system.title2_name)
|
||||
center_sprite(@sprite1)
|
||||
center_sprite(@sprite2)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Create Foreground
|
||||
#--------------------------------------------------------------------------
|
||||
def create_foreground
|
||||
@foreground_sprite = Sprite.new
|
||||
@foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
|
||||
@foreground_sprite.z = 100
|
||||
draw_game_title if $data_system.opt_draw_title
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Game Title
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_game_title
|
||||
@foreground_sprite.bitmap.font.size = 48
|
||||
rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)
|
||||
@foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Free Background
|
||||
#--------------------------------------------------------------------------
|
||||
def dispose_background
|
||||
@sprite1.bitmap.dispose
|
||||
@sprite1.dispose
|
||||
@sprite2.bitmap.dispose
|
||||
@sprite2.dispose
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Free Foreground
|
||||
#--------------------------------------------------------------------------
|
||||
def dispose_foreground
|
||||
@foreground_sprite.bitmap.dispose
|
||||
@foreground_sprite.dispose
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Move Sprite to Screen Center
|
||||
#--------------------------------------------------------------------------
|
||||
def center_sprite(sprite)
|
||||
sprite.ox = sprite.bitmap.width / 2
|
||||
sprite.oy = sprite.bitmap.height / 2
|
||||
sprite.x = Graphics.width / 2
|
||||
sprite.y = Graphics.height / 2
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Create Command Window
|
||||
#--------------------------------------------------------------------------
|
||||
def create_command_window
|
||||
@command_window = Window_TitleCommand.new
|
||||
@command_window.set_handler(:new_game, method(:command_new_game))
|
||||
@command_window.set_handler(:continue, method(:command_continue))
|
||||
@command_window.set_handler(:shutdown, method(:command_shutdown))
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Close Command Window
|
||||
#--------------------------------------------------------------------------
|
||||
def close_command_window
|
||||
@command_window.close
|
||||
update until @command_window.close?
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * [New Game] Command
|
||||
#--------------------------------------------------------------------------
|
||||
def command_new_game
|
||||
DataManager.setup_new_game
|
||||
close_command_window
|
||||
fadeout_all
|
||||
$game_map.autoplay
|
||||
SceneManager.goto(Scene_Map)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * [Continue] Command
|
||||
#--------------------------------------------------------------------------
|
||||
def command_continue
|
||||
close_command_window
|
||||
SceneManager.call(Scene_Load)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * [Shut Down] Command
|
||||
#--------------------------------------------------------------------------
|
||||
def command_shutdown
|
||||
close_command_window
|
||||
fadeout_all
|
||||
SceneManager.exit
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Play Title Screen Music
|
||||
#--------------------------------------------------------------------------
|
||||
def play_title_music
|
||||
$data_system.title_bgm.play
|
||||
RPG::BGS.stop
|
||||
RPG::ME.stop
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user