java碰撞检测代码_Java编程实现游戏中的简单碰撞检测功能示例

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

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

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

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

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

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

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

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

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

{

ishit=true;

}

return (ishit);

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值