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<safedistance) { ishit=true; } return (ishit); }
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
相关文章
利用Thumbnailator轻松实现图片缩放、旋转与加水印
java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,这篇文章主要介绍了利用Thumbnailator如何轻松的实现图片缩放、旋转与加水印,需要的朋友可以参考下2017-01-01Spring Boot使用LocalDateTime、LocalDate作为入参的方案详解
这篇文章主要介绍了Spring Boot使用LocalDateTime、LocalDate作为入参,本文基于Springboot2.0测试,如果无法生效可能是spring版本较低导致的,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下2023-09-09SpringBoot自定义MessageConverter与内容协商管理器contentNegotiationManag
这篇文章主要介绍了SpringBoot自定义MessageConverter与内容协商管理器contentNegotiationManager的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2022-10-10如何解决HttpServletRequest.getInputStream()多次读取问题
这篇文章主要介绍了如何解决HttpServletRequest.getInputStream()多次读取问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-07-07Nacos服务发现并发启动scheduleUpdate定时任务的流程分析
这篇文章主要介绍了Nacos服务发现并发启动scheduleUpdate定时任务,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-02-02
最新评论