イベントコマンド呼び出し速度向上

フォーラムルール
素材の利用規約を決めたいけど、どんなことを書けばいいのか分からない場合は、
素材のテンプレートをご利用下さい。
SBR

イベントコマンド呼び出し速度向上

投稿記事by SBR » 2017年2月24日(金) 22:05

規格外のメソッド定義(一般的には)を行わせることによりイベントコマンドの呼び出し速度を向上させます(体感できるほどではありませんが…)

●導入位置
・execute_commandを再定義しているので出来れば上の方に導入してください。

●注意点
・このスクリプトの導入は自己責任で行ってください。
・規格外のメソッドを定義したりmethod_missingを使用していますからこのスクリプトの導入にはそれなりのリスクがある点をご理解ください。

コード: 全て選択

#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● イベントコマンドの実行
  #--------------------------------------------------------------------------
  def execute_command
    command = @list[@index]
    @params = command.parameters
    @indent = command.indent
   
    send(command.code.to_s)
  end
  #--------------------------------------------------------------------------
  # ● 未定義のコマンド(何もしない)
  #--------------------------------------------------------------------------
  def command_no_response
  end
  #--------------------------------------------------------------------------
  # ● method_missing
  #--------------------------------------------------------------------------
  def method_missing(method_name,*args,&block)
    method_name.to_s.match(/\A(\d+)\Z/) do |cmd|
      old_method_name = "command_#{cmd[1]}"
      old_method_name = :command_no_response unless respond_to?(old_method_name)
     
      self.class.send(:alias_method,cmd[1],old_method_name)
     
      return send(cmd[1])
    end
   
    super
  end
end


画像
画像
画像
画像
画像
画像

“Ace:スクリプト素材(RGSS3)” へ戻る