Auteur: Yukihiro matsumoto
#============================================
# ¡ Scene_File
#----------------------------------------------
# @ƒZ[ƒu‰æ–Ê‚¨‚æ‚у[ƒh‰æ–ʂ̃X[ƒp[ƒNƒ‰ƒX‚Å‚·B
#============================================
class Scene_File
#------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
# help_text : ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ɕަ‚·‚é•¶Žš—ñ
#------------------------------------------
def initialize(help_text)
@help_text = help_text
end
#------------------------------------------
# œ ƒƒCƒ“ˆ—
#------------------------------------------
def main
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðì¬
@help_window = Window_Help.new
@help_window.set_text(@help_text)
# ƒZ[ƒuƒtƒ@ƒCƒ‹ƒEƒBƒ“ƒhƒE‚ðì¬
@savefile_windows = []
for i in 0..3
@savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
end
# ÅŒã‚É‘€ì‚µ‚½ƒtƒ@ƒCƒ‹‚ð‘I‘ð
@file_index = $game_temp.last_file_index
@savefile_windows[@file_index].selected = true
# ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“ŽÀs
Graphics.transition
# ƒƒCƒ“ƒ‹[ƒv
loop do
# ƒQ[ƒ€‰æ–Ê‚ðXV
Graphics.update
# “ü—Íî•ñ‚ðXV
Input.update
# ƒtƒŒ[ƒ€XV
update
# ‰æ–Ê‚ªØ‚è‘Ö‚í‚Á‚½‚烋[ƒv‚ð’†’f
if $scene != self
break
end
end
# ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“€”õ
Graphics.freeze
# ƒEƒBƒ“ƒhƒE‚ð‰ð•ú
@help_window.dispose
for i in @savefile_windows
i.dispose
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV
#------------------------------------------
def update
# ƒEƒBƒ“ƒhƒE‚ðXV
@help_window.update
for i in @savefile_windows
i.update
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# ƒƒƒbƒh on_decision (Œp³æ‚Å’è‹`) ‚ðŒÄ‚Ô
on_decision(make_filename(@file_index))
$game_temp.last_file_index = @file_index
return
end
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒƒƒbƒh on_cancel (Œp³æ‚Å’è‹`) ‚ðŒÄ‚Ô
on_cancel
return
end
# •ûŒüƒ{ƒ^ƒ“‚̉º‚ª‰Ÿ‚³‚ꂽê‡
if Input.repeat?(Input::DOWN)
# •ûŒüƒ{ƒ^ƒ“‚̉º‚̉Ÿ‰ºó‘Ô‚ªƒŠƒs[ƒg‚łȂ¢ê‡‚©A
# ‚Ü‚½‚̓J[ƒƒ‹ˆÊ’u‚ª 3 ‚æ‚è‘O‚Ìê‡
if Input.trigger?(Input::DOWN) or @file_index < 3
# ƒJ[ƒƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cursor_se)
# ƒJ[ƒƒ‹‚ð‰º‚ÉˆÚ“®
@savefile_windows[@file_index].selected = false
@file_index = (@file_index + 1) % 4
@savefile_windows[@file_index].selected = true
return
end
end
# •ûŒüƒ{ƒ^ƒ“‚Ìオ‰Ÿ‚³‚ꂽê‡
if Input.repeat?(Input::UP)
# •ûŒüƒ{ƒ^ƒ“‚Ìã‚̉Ÿ‰ºó‘Ô‚ªƒŠƒs[ƒg‚łȂ¢ê‡‚©A
# ‚Ü‚½‚̓J[ƒƒ‹ˆÊ’u‚ª 0 ‚æ‚èŒã‚ë‚Ìê‡
if Input.trigger?(Input::UP) or @file_index > 0
# ƒJ[ƒƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cursor_se)
# ƒJ[ƒƒ‹‚ðã‚Ɉړ®
@savefile_windows[@file_index].selected = false
@file_index = (@file_index + 3) % 4
@savefile_windows[@file_index].selected = true
return
end
end
end
#------------------------------------------
# œ ƒtƒ@ƒCƒ‹–¼‚Ìì¬
# file_index : ƒZ[ƒuƒtƒ@ƒCƒ‹‚̃Cƒ“ƒfƒbƒNƒX (0`3)
#------------------------------------------
def make_filename(file_index)
return "Save#{file_index + 1}.rxdata"
end
end |
|