重新做了一个范例...
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
|