最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java編程實(shí)現(xiàn)游戲中的簡(jiǎn)單碰撞檢測(cè)功能示例

 更新時(shí)間:2017年10月27日 09:35:13   作者:蛋炒飯不加飯  
這篇文章主要介紹了Java編程中的簡(jiǎn)單碰撞檢測(cè)功能,涉及java針對(duì)坐標(biāo)點(diǎn)的相關(guān)數(shù)學(xué)運(yùn)算操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java編程中的簡(jiǎn)單碰撞檢測(cè)功能。分享給大家供大家參考,具體如下:

今天在家正在寫一個(gè)坦克大戰(zhàn)的小游戲來(lái)玩,遇到了一個(gè)簡(jiǎn)單的圓和圓的碰撞檢測(cè)的小問題,

碰撞檢測(cè)的過程處理主要有以下三步:

1.碰撞檢測(cè)(Collision Detection):返回兩個(gè)或多個(gè)物體是否發(fā)生碰撞的布爾判斷。

2.碰撞確定(Collision Determination):找到物體之間實(shí)際相交位置。

3.碰撞響應(yīng)(Collision Response):針對(duì)兩個(gè)物體之間的碰撞決定采取何種操作。

下面是關(guān)于兩個(gè)圓與圓之間的簡(jiǎn)單碰撞判斷處理:

簡(jiǎn)而言之就是當(dāng)兩個(gè)圓的實(shí)際距離小于半徑和的時(shí)候就表示發(fā)生碰撞,此時(shí)修改布爾型判斷標(biāo)志便可。

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))); //實(shí)際距離
     boolean ishit=false;   //判斷標(biāo)志變量
     if(realdistance<safedistance)
     {
       ishit=true;
     }
     return (ishit);
}

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

吴江市| 仪征市| 永寿县| 临潭县| 高州市| 新民市| 鸡西市| 松桃| 沙坪坝区| 稻城县| 廉江市| 前郭尔| 卫辉市| 九龙坡区| 奎屯市| 新闻| 玉山县| 翁源县| 平安县| 平泉县| 井陉县| 宽甸| 安新县| 海口市| 塔河县| 青铜峡市| 镇原县| 沁源县| 东台市| 探索| 收藏| 隆回县| 明星| 蛟河市| 龙陵县| 博客| 弥渡县| 丹棱县| 苗栗县| 边坝县| 府谷县|