重新做了一个范例...
 
Project1.rar
(1.42 MB, 下载次数: 67)
 
范例里的事件名中带有【正太】二字的事件只要经过怪蜀黍身边一个范围,怪蜀黍头上就会有心的心情,而其它事件无效... 
事件设置及事件脚本设置请看范例中的事件【怪蜀黍】... 
 
 
  图中粉色的四个框里的数据是四个参数,不必更改...绿色框里的参数是可以更改的... 
默认方法名【in_square】是45度倾斜正方形区域判定,要换成端正矩形的区域判定,需要把方法名改成【in_rectangle】,同时增加一个参数...参数的意义见一下脚本中的注释... 
这是必须添加在脚本编辑器里的脚本,转载请注明脚本来源哦... 
#============================================================================== # 事件周围区域判定 #------------------------------------------------------------------------------ # 作者:正太君(聪仔) # 请保留脚本来源... # 本脚本来自rpg.blue #==============================================================================   #============================================================================== # ■ Game_Character #============================================================================== class Game_Character < Game_CharacterBase   attr_reader   :event end   module Kernel   #--------------------------------------------------------------------------   # ● 矩形  共6个参数   #--------------------------------------------------------------------------   # x、y     :进入区域的事件x、y坐标...   # ox, oy   :区域中心的事件x、y坐标...   # a        :矩形的长边减1后的一半,可理解成长轴向的半径...   # b        :矩形的短边减1后的一半,可理解成短轴向的半径...   # 例如一个7×3的矩形,a为3,b为1;端正的正方形a、b相等...   #--------------------------------------------------------------------------   def in_rectangle(x, y, ox, oy, a, b)     (x - ox).abs <= a and (y - oy).abs <= b   end   #--------------------------------------------------------------------------   # ● 45度倾斜的正方形(或称为LZ所谓的菱形)  共5个参数   #--------------------------------------------------------------------------   # x、y     :进入区域的事件x、y坐标...   # ox, oy   :区域中心的事件x、y坐标...   # r        : 正方形的对角线长度减1后的一半,可理解成正方形的半径...   #--------------------------------------------------------------------------   def in_square(x, y, ox, oy, r)     ((x - ox) - (y - oy)).abs <= r and ((x - ox) + (y - oy)).abs <= r   end end 
 
 #==============================================================================  
# 事件周围区域判定  
#------------------------------------------------------------------------------  
# 作者:正太君(聪仔)  
# 请保留脚本来源...  
# 本脚本来自rpg.blue  
#==============================================================================  
   
#==============================================================================  
# ■ Game_Character  
#==============================================================================  
class Game_Character < Game_CharacterBase  
  attr_reader   :event  
end  
   
module Kernel  
  #--------------------------------------------------------------------------  
  # ● 矩形  共6个参数  
  #--------------------------------------------------------------------------  
  # x、y     :进入区域的事件x、y坐标...  
  # ox, oy   :区域中心的事件x、y坐标...  
  # a        :矩形的长边减1后的一半,可理解成长轴向的半径...  
  # b        :矩形的短边减1后的一半,可理解成短轴向的半径...  
  # 例如一个7×3的矩形,a为3,b为1;端正的正方形a、b相等...  
  #--------------------------------------------------------------------------  
  def in_rectangle(x, y, ox, oy, a, b)  
    (x - ox).abs <= a and (y - oy).abs <= b  
  end  
  #--------------------------------------------------------------------------  
  # ● 45度倾斜的正方形(或称为LZ所谓的菱形)  共5个参数  
  #--------------------------------------------------------------------------  
  # x、y     :进入区域的事件x、y坐标...  
  # ox, oy   :区域中心的事件x、y坐标...  
  # r        : 正方形的对角线长度减1后的一半,可理解成正方形的半径...  
  #--------------------------------------------------------------------------  
  def in_square(x, y, ox, oy, r)  
    ((x - ox) - (y - oy)).abs <= r and ((x - ox) + (y - oy)).abs <= r  
  end  
end  
 
  |