143 lines
5.9 KiB
Ruby
143 lines
5.9 KiB
Ruby
#==============================================================================
|
||
# ■ Scene_Title
|
||
#------------------------------------------------------------------------------
|
||
# タイトル画面の処理を行うクラスです。
|
||
#==============================================================================
|
||
|
||
class Scene_Title < Scene_Base
|
||
#--------------------------------------------------------------------------
|
||
# ● 開始処理
|
||
#--------------------------------------------------------------------------
|
||
def start
|
||
super
|
||
Font.default_name = "いろはマルみかみ Mediam"#紅茶走フォント初期化処理
|
||
SceneManager.clear
|
||
Graphics.freeze
|
||
create_background
|
||
create_foreground
|
||
create_command_window
|
||
play_title_music
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● トランジション速度の取得
|
||
#--------------------------------------------------------------------------
|
||
def transition_speed
|
||
return 20
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 終了処理
|
||
#--------------------------------------------------------------------------
|
||
def terminate
|
||
super
|
||
SceneManager.snapshot_for_background
|
||
dispose_background
|
||
dispose_foreground
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 背景の作成
|
||
#--------------------------------------------------------------------------
|
||
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
|
||
#--------------------------------------------------------------------------
|
||
# ● 前景の作成
|
||
#--------------------------------------------------------------------------
|
||
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
|
||
#--------------------------------------------------------------------------
|
||
# ● ゲームタイトルの描画
|
||
#--------------------------------------------------------------------------
|
||
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
|
||
#--------------------------------------------------------------------------
|
||
# ● 背景の解放
|
||
#--------------------------------------------------------------------------
|
||
def dispose_background
|
||
@sprite1.bitmap.dispose
|
||
@sprite1.dispose
|
||
@sprite2.bitmap.dispose
|
||
@sprite2.dispose
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● 前景の解放
|
||
#--------------------------------------------------------------------------
|
||
def dispose_foreground
|
||
@foreground_sprite.bitmap.dispose
|
||
@foreground_sprite.dispose
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● スプライトを画面中央に移動
|
||
#--------------------------------------------------------------------------
|
||
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
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンドウィンドウの作成
|
||
#--------------------------------------------------------------------------
|
||
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
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンドウィンドウを閉じる
|
||
#--------------------------------------------------------------------------
|
||
def close_command_window
|
||
@command_window.close
|
||
update until @command_window.close?
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンド[ニューゲーム]
|
||
#--------------------------------------------------------------------------
|
||
def command_new_game
|
||
Audio.se_play("Audio/SE/FRMPC_ME081_Save01", $game_system.m_v[3], 80)
|
||
DataManager.setup_new_game
|
||
close_command_window
|
||
#fadeout_all
|
||
$game_map.autoplay
|
||
SceneManager.goto(Scene_Map)
|
||
#GetLocale.get(:char, 3)ンガード
|
||
#$game_variables[307] = GetLocale.get(:char, 3) ンガード
|
||
#GetLocale.get(:locale, 1)ンガード
|
||
#$game_variables[306] = GetLocale.get(:locale, 1) ンガード
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンド[コンティニュー]
|
||
#--------------------------------------------------------------------------
|
||
def command_continue
|
||
close_command_window
|
||
SceneManager.call(Scene_Load)
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンド[シャットダウン]
|
||
#--------------------------------------------------------------------------
|
||
def command_shutdown
|
||
close_command_window
|
||
fadeout_all
|
||
SceneManager.exit
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● タイトル画面の音楽演奏
|
||
#--------------------------------------------------------------------------
|
||
def play_title_music
|
||
$data_system.title_bgm.play
|
||
RPG::BGS.stop
|
||
RPG::ME.stop
|
||
end
|
||
end
|