看板 RPGMaker 關於我們 聯絡資訊
玩過許多RM的遊戲 我發現許多"單一主角"的遊戲都有一些通病 RM的選單差不多都長這樣: ╭──╮╭──────╮ │物品││主角 hp▂▂ │ │技能││ mp▂▂ │ │狀態││以下空白... │ │裝備││ │ │存檔││ │ ╰──╯│ │ │ │ ╰──────╯ 若是只有一位主角的話 Window_MenuStatus就會顯得很空虛 不過這不是重點 而是選單的邏輯問題 在預設的情況 就算只有一位主角 在技能狀態裝備這三個選項仍會呼叫Window_MenuStatus 並且要你再按下一次確認鍵 很多餘 所以要改的是Scene_Menu這個類別23~25行 @command_window.set_handler(:skill, method(:command_personal)) @command_window.set_handler(:equip, method(:command_personal)) @command_window.set_handler(:status, method(:command_personal)) 改成 @command_window.set_handler(:item, method(:command_item)) @command_window.set_handler(:skill, method(:command_skill)) @command_window.set_handler(:equip, method(:command_equip)) 其實只要三個不一樣就可以... 並在下面定義這三個方法 def command_item clear_stand $game_party.menu_actor = $game_actors[1] SceneManager.call(Scene_Item) end def command_skill clear_stand $game_party.menu_actor = $game_actors[1] SceneManager.call(Scene_Skill) end def command_equip clear_stand $game_party.menu_actor = $game_actors[1] SceneManager.call(Scene_Equip) end 因為主角只有一個所以$game_actors[]的index是1 這樣就不用再多按一次了! 等等 還沒完呢 記得Window_MenuStatus還會在哪出現嗎 就是在使用道具的時候! Scene_ItemBase的79行開始 def determine_item if item.for_friend? show_sub_window(@actor_window) @actor_window.select_for_item(item) else use_item activate_item_window end end 改成: def determine_item if item_usable? use_item activate_item_window else Sound.play_buzzer activate_item_window end end 這樣應該就行了! 行雲流水無障礙的選單不是讓人心靈舒暢嗎~ 很多作品有劇情 有畫面 有可玩性 UI也是美美的 但就是有那麼一點小瑕疵 蠻可惜的 2016/04/01 發現當滿血卻想喝藥水時 BUG Sound.play_buzzer 跟Sound.play_ok會同時執行 於是修改Window_ItemList 及 Window_SkillList 這兩個都繼承Window_Selectable 複製Window_Selectable內以下幾行 def process_ok if current_item_enabled? Sound.play_ok Input.update deactivate call_ok_handler else Sound.play_buzzer end end 把Sound.play_ok去掉並加入Window_ItemList與Window_SkillList裡就行 -- ╭───╮ ◢██◣李組長眉頭一皺, \ ㄟˇㄏ / ㄧ..ㄧ + 覺得案情並不單純。 /︷\ $snegi ▅▅▆ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.89.194.175 ※ 文章網址: https://www.ptt.cc/bbs/RPGMaker/M.1459200702.A.26B.html
w60241: 推推 03/29 11:35
※ 編輯: snegi (111.89.194.175), 04/01/2016 08:39:12
dd830611: 推,改天試試看 04/03 21:08