Home > Tutorial

元素精靈系統(二)

上一篇學習日誌寫了class ElementalSprirt的內容,
這篇會列出其餘要設定的地方。

還記得這段程式嗎?這是class ElelmentalSpiritmethod enoughint?

 for actor in $game_party.actors
  totalint += $data_actors[actor.actor_id].parameters[5, actor.level]
end

這裡用了的method actior_id是還未定義的,
所以我們要在
class Actor中加上這句。

 attr_reader   :actor_id

 Class寫好了,但是沒有Object還是用不到的!

class Scene_Titlemethod 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_Savemethod 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_Loadmethod 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)

上一頁            下一頁            目錄

Hosted by www.Geocities.ws

1