一、人物攻击有2方向:向右和向左时
二、人物向左时:1.判断所有被攻击目标离div的距离是否比人物离div距离大
我们将要攻击的目标分成三条线:第一条:攻击目标距离div为第一条线
第二条:攻击目标距离div的距离加上攻击目标宽度的一半
第三条:攻击目标距离div的距离加上攻击目标宽度(整个宽)
二、人物向右时:1.判断所有被攻击目标离div的距离是否比人物离div距离小
我们将要攻击的目标分成三条线:第一条:攻击目标距离div
第二条:攻击目标距离div的距离加上攻击目标宽度的一半
第三条:攻击目标距离div的距离加上攻击目标宽度(整个宽)
------------------------------------(向右时和向左时的判断几乎一样)---------------------------------------------
判断具体:如:我们将人物为:R 被攻击目标为:G 宽为:k 左边距:z 右边距:r
接下来是代码
if(zyou==68){
var Gr=parseInt($(this).css("right"));/* 攻击目标距离#youx右边框的距离(这里用距离左,右的都可以) */
var Grk=(Gwr+parseInt($(this).css("width")))/* 攻击目标距离#youx边框的距离+攻击目标当前的宽度(这里用距离左,右的都可以) */
/* 人物右边的攻击范围判定 */
var Rr=parseInt($("#youx>img:eq(0)").css("right"))/* 人物距离#youx右边框的距离 */
var Rrk=Math.abs(Rwur+(parseInt($("#youx>img:eq(0)").css("width"))/2)))
if(Gwr>=rwur && Gwr<=rwu || Gwr+parseInt($(this).css("width"))/2>=Rwur && Gwr+parseInt($(this).css("width"))/2<=Rwu || Gwkr>=Rwur && Gwkr<=Rwu){
}else if(zyou==65){
var Gz=parseInt($(this).css("left"));/* 怪物距离 */
var Gzk=(Glef+parseInt($(this).css("width"))/2)/* 怪物距离+怪物宽度2/1 */
var Rz=parseInt($("#youx>img:eq(0)").css("left"))/* 人物的距离 */
var Rzk=Math.abs(parseInt(Rwul+parseInt($("#youx>img:eq(0)").css("width"))/2); /* 人物的距离+人物2/1的宽度 */
if(Glef>=Rwul && Glef<=Gwu || Gwkl>=Rwul && Gwkl<=Rwu || (Glef+parseInt($(this).css("width")))>=Rwul && (Glef+parseInt($(this).css("width")))<=Gwkl){ }
资源链接:https://download.csdn.net/download/weixin_56581836/19872474