=begin キー入力監視 ForXP ver 0.0.0.2 予約したキーが押されると(マップ・戦闘中)指定された スイッチがONになる微妙な機能追加。 スクリプト:key_bind(Input::SHIFT, 12) とか書いたあとに SHIFTキーが押されるとスイッチ12:ON, 監視終了 http://www.tktkgame.com/ ・2011/05/20  公開 =end module TKG module KeyObserver class Observer def initialize @target_infos = {} end def add_target(key, sw) $game_switches[sw] = false @target_infos[key] = sw return key end def clear(key) if key == :key @target_infos.clear else @target_infos.delete(key) end end def update @used = [] @target_infos.each do |key, sw| if Input.trigger?(key) $game_switches[sw] = true @used.push(key) end end @used.each do |key| @target_infos.delete(key) end end end end end class Game_System def key_observer @key_observer = TKG::KeyObserver::Observer.new if @key_observer.nil? @key_observer end alias :tkg_key_observe__update :update def update key_observer.update tkg_key_observe__update end end class Interpreter def key_bind(key, sw) $game_system.key_observer.add_target(key, sw) end def clear_key_bind(key=:all) $game_system.key_observer.clear(key) end end