Java編程實現(xiàn)游戲中的簡單碰撞檢測功能示例
本文實例講述了Java編程中的簡單碰撞檢測功能。分享給大家供大家參考,具體如下:
今天在家正在寫一個坦克大戰(zhàn)的小游戲來玩,遇到了一個簡單的圓和圓的碰撞檢測的小問題,
碰撞檢測的過程處理主要有以下三步:
1.碰撞檢測(Collision Detection):返回兩個或多個物體是否發(fā)生碰撞的布爾判斷。
2.碰撞確定(Collision Determination):找到物體之間實際相交位置。
3.碰撞響應(yīng)(Collision Response):針對兩個物體之間的碰撞決定采取何種操作。
下面是關(guān)于兩個圓與圓之間的簡單碰撞判斷處理:
簡而言之就是當兩個圓的實際距離小于半徑和的時候就表示發(fā)生碰撞,此時修改布爾型判斷標志便可。
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);
}
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
詳解spring security 配置多個AuthenticationProvider
這篇文章主要介紹了詳解spring security 配置多個AuthenticationProvider ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
springboot 實現(xiàn)記錄業(yè)務(wù)日志和異常業(yè)務(wù)日志的操作
這篇文章主要介紹了springboot 實現(xiàn)記錄業(yè)務(wù)日志和異常業(yè)務(wù)日志的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
java實現(xiàn)順序結(jié)構(gòu)線性列表的函數(shù)代碼
java實現(xiàn)順序結(jié)構(gòu)線性列表的函數(shù)代碼。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10
SpringBoot @ExceptionHandler與@ControllerAdvice異常處理詳解
在Spring Boot應(yīng)用的開發(fā)中,不管是對底層數(shù)據(jù)庫操作,對業(yè)務(wù)層操作,還是對控制層操作,都會不可避免的遇到各種可預(yù)知的,不可預(yù)知的異常需要處理,如果每個處理過程都單獨處理異常,那么系統(tǒng)的代碼耦合度會很高,工作量大且不好統(tǒng)一,以后維護的工作量也很大2022-10-10
springboot中如何將logback切換為log4j2
springboot默認使用logback作為日志記錄框架,常見的日志記錄框架有l(wèi)og4j、logback、log4j2,這篇文章我們來學習怎樣將logbak替換為log4j2,需要的朋友可以參考下2023-06-06

