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

 更新时间:2017年10月27日 09:35:13   作者:蛋炒饭不加饭  
这篇文章主要介绍了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<safedistance)
     {
       ishit=true;
     }
     return (ishit);
}

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

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

相关文章

  • 使用Scala生成随机数的方法示例

    使用Scala生成随机数的方法示例

    这篇文章主要介绍了使用Scala生成随机数的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Java并发编程学习之Unsafe类与LockSupport类源码详析

    Java并发编程学习之Unsafe类与LockSupport类源码详析

    这篇文章主要给大家介绍了关于Java并发编程学习之Unsafe类与LockSupport类源码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-06-06
  • java基于嵌入式Tomcat的War包启动器

    java基于嵌入式Tomcat的War包启动器

    本文主要介绍了java基于嵌入式Tomcat的War包启动器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Java通过SSM完成水果商城批发平台流程

    Java通过SSM完成水果商城批发平台流程

    这是一个使用了java+SSM开发的网上水果商城批发平台,是一个实战小练习,具有水果商城批发该有的所有功能,感兴趣的朋友快来看看吧
    2022-06-06
  • SpringBoot解决ajax跨域问题的方法

    SpringBoot解决ajax跨域问题的方法

    这篇文章主要为大家详细介绍了SpringBoot解决ajax跨域问题的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Java实现冒泡排序算法

    Java实现冒泡排序算法

    这篇文章主要为大家详细介绍了java实现冒泡排序算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Maven如何打入依赖中指定的部分jar包

    Maven如何打入依赖中指定的部分jar包

    当项目运行的环境里已经有一个jar包是pom文件依赖其他项目的jar包,所以最后得到的项目jar包中还需要打入其他项目的最新代码,接下来通过本文给大家介绍Maven打入依赖jar包的操作工程,需要的朋友参考下吧
    2021-06-06
  • Feign远程调用传递对象参数并返回自定义分页数据的过程解析

    Feign远程调用传递对象参数并返回自定义分页数据的过程解析

    这篇文章主要介绍了Feign远程调用传递对象参数并返回自定义分页数据的过程解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 利用Java8 Optional类优雅如何地解决空指针问题

    利用Java8 Optional类优雅如何地解决空指针问题

    这篇文章主要给大家介绍了关于如何利用Java8 Optional类优雅解决空指针问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • SpringBoot增强Controller方法@ControllerAdvice注解的使用详解

    SpringBoot增强Controller方法@ControllerAdvice注解的使用详解

    这篇文章主要介绍了SpringBoot增强Controller方法@ControllerAdvice注解的使用详解,@ControllerAdvice,是Spring3.2提供的新注解,它是一个Controller增强器,可对controller进行增强处理,需要的朋友可以参考下
    2023-10-10

最新评论