服务器之家

服务器之家 > 正文

Java编程实现游戏中的简单碰撞检测功能示例

时间:2021-01-27 10:55     来源/作者:蛋炒饭不加饭

本文实例讲述了Java编程中的简单碰撞检测功能。分享给大家供大家参考,具体如下:

今天在家正在写一个坦克大战的小游戏来玩,遇到了一个简单的圆和圆的碰撞检测的小问题,

碰撞检测的过程处理主要有以下三步:

1.碰撞检测(Collision Detection):返回两个或多个物体是否发生碰撞的布尔判断。

2.碰撞确定(Collision Determination):找到物体之间实际相交位置。

3.碰撞响应(Collision Response):针对两个物体之间的碰撞决定采取何种操作。

下面是关于两个圆与圆之间的简单碰撞判断处理:

简而言之就是当两个圆的实际距离小于半径和的时候就表示发生碰撞,此时修改布尔型判断标志便可。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private boolean hittank(Tank t){
     Point Tank=new Point ((t.getX()+40),(t.getY()+40));
     Point Shell=new Point(((this.x)+10),((this.y)+10));
     int Tankr=40;     //Tank的半径
     int Shellr=10;    //Shell的半径
     double safedistance =Tankr+Shellr;  //安全距离
     double realdistance = Math.sqrt(Math.pow((Tank.x-Shell.x), 2)+(Math.pow((Tank.y-Shell.y), 2))); //实际距离
     boolean ishit=false;   //判断标志变量
     if(realdistance<safedistance)
     {
       ishit=true;
     }
     return (ishit);
}

希望本文所述对大家java程序设计有所帮助。

原文链接:http://blog.csdn.net/qq_33213136/article/details/76239250

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
返回顶部