宝哥软件园

javascript制作游戏开发碰撞检测的封装代码

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

在Java脚本语言开发网游戏时,需要使用到碰撞检测时,为了方便开发,封装了矩形和圆形的两个碰撞检测方式。

【附带案例操作捕获一枚】【注意:代码上未做优化处理】

演示图

角色攻击区域碰撞检测。可交换的图像格式

塔防案例。可交换的图像格式

矩形区域碰撞检测

/** * 矩形区域碰撞检测*由管理员于14-4-7创建作者:标记*/函数矩形(x,y,_宽度,_高度){ this。x=xthis . y=ythis . width=_ width this . height=_ height//碰撞检测(参数为此类)这个。interverses=function(obj){ var a _ x _ w=math。ABS((这个。x this.width/2)-(obj。x obj。宽度/2));var b _ w _ w=数学。ABS((这个。宽度目标。宽度)/2);var a _ y _ h=数学。ABS((这个。这个高度。y . obj。高度/2));var b _ h _ h=数学。ABS((这个。高度物体。高度)/2);if(a _ x _ w b _ w a _ y _ h b _ h)返回真实的否则返回false} }圆形区域碰撞检测

/** * 圆形区域碰撞检测*由管理员于14-4-7创建*作者:标记* */函数radius矩形(x,y,半径){ this.x=xthis.y=ythis.radius=半径;//碰撞检测(参数为此类)这个。交点=函数(RR){ var Maxradius=RR。半径是这个。半径;//已知两条直角边的长度,可按公式:c=a b计算斜边var a=数学。防抱死制动系统(RR。这个。x);var b=数学。防抱死制动系统(RR。这个。y);var距离=数学。sqrt(数学。pow(a,2) Math.pow(b,2));//计算圆心距离if(distance MaxRadius){ return true;}返回false}}以上所述就是本文的全部内容了,希望能够对大家了解爪哇岛描述语言有所帮助。

更多资讯
游戏推荐
更多+