| Home > Tutorial |
|
元素精靈系統(二)
上一篇學習日誌寫了class
ElementalSprirt的內容, 還記得這段程式嗎?這是class ElelmentalSpirit的method enoughint?。 for actor in $game_party.actors 這裡用了的method
actior_id是還未定義的, attr_reader :actor_id Class寫好了,但是沒有Object還是用不到的! 在class Scene_Title的method command_new_game作一些改變就行了!
#--------------------------------------------------------------------------
# ● 命令 : 新遊戲 #-------------------------------------------------------------------------- def command_new_game # 演奏確定 SE $game_system.se_play($data_system.decision_se) # 停止 BGM Audio.bgm_stop # 重置測量遊戲時間用的畫面計數器 Graphics.frame_count = 0 # 生成各種遊戲對像 $game_temp = Game_Temp.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_screen = Game_Screen.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 $elementalspirit = ElementalSpirit.new # 設置初期同伴位置 $game_party.setup_starting_members # 設置初期位置的地圖 $game_map.setup($data_system.start_map_id) # 主角向初期位置移動 $game_player.moveto($data_system.start_x, $data_system.start_y) # 刷新主角 $game_player.refresh # 執行地圖設置的 BGM 與 BGS 的自動切換 $game_map.autoplay # 刷新地圖 (執行並行事件) $game_map.update # 切換地圖畫面 $scene = Scene_Map.new end
對了!如果新增的Object是有記錄作用的話,
就要在class
Scene_Save的method
write_save_data(file)加上...
Marshal.dump($game_system, file)
Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, file) Marshal.dump($game_screen, file) Marshal.dump($game_actors, file) Marshal.dump($game_party, file) Marshal.dump($game_troop, file) Marshal.dump($game_map, file) Marshal.dump($game_player, file) Marshal.dump($elementalspirit, file)
有Save就當然有Load,不然Save來幹嘛?
在class
Scene_Load的method
read_save_data(file)作出以下更改。
$game_system
= Marshal.load(file)
$game_switches = Marshal.load(file) $game_variables = Marshal.load(file) $game_self_switches = Marshal.load(file) $game_screen = Marshal.load(file) $game_actors = Marshal.load(file) $game_party = Marshal.load(file) $game_troop = Marshal.load(file) $game_map = Marshal.load(file) $game_player = Marshal.load(file) $elementalspirit = Marshal.load(file) |