這是我的第一篇文章 我希望如果有人能夠在我的賽車遊戲中爲我提供更好的碰撞反應方面的幫助。 到目前爲止,我發展的是基礎和胡思亂想,一個小小的物理學對我很好。 這是代碼。更好的碰撞反應對於使用Java的2D汽車遊戲
P.S:我不能使用Box2D,因爲我沒有時間學習它以符合截止日期,我不能!
如果需要,我可以提供鏈接到我的源文件。
Area police_area=new Area(transformed_police);
Area punk_area=new Area(transformed_punk);
pox=(int) police_area.getBounds2D().getCenterX();
poy=(int) police_area.getBounds2D().getCenterY();
pux=(int) punk_area.getBounds2D().getCenterX();
puy=(int) punk_area.getBounds2D().getCenterY();
if((police_area.isEmpty()!=true)&&(punk_area.isEmpty()!=true))
{
police_area.intersect(punk_area);
if(police_area.isEmpty()!=true)
{
car_police.score_update();
car_punk.score_update();
if(pox>pux && poy>puy)//1
{
car_punk.x-=((int)(movement_police.speed))+5;
car_punk.y-=((int)(movement_police.speed))+5;
for(int i=0;i<=(movement_police.speed)/2;i++)
{
try
{
car_punk.rotate_ac();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
if(pox==pux && poy>puy)//2
{
car_punk.y-=((int)(movement_police.speed))+5;
}
if(pox<pux && poy>puy)//3
{
car_punk.x+=((int)(movement_police.speed))+5;
car_punk.y-=((int)(movement_police.speed))+5;
for(int i=0;i<=(movement_police.speed)/2;i++)
{
try
{
car_punk.rotate_c();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
if(pox>pux && poy<puy)//6
{
car_punk.x-=((int)(movement_police.speed))+5;
car_punk.y+=((int)(movement_police.speed))+5;
for(int i=0;i<=(movement_police.speed)/2;i++)
{
try
{
car_punk.rotate_c();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
if(pox==pux && poy<puy)//7
{
car_punk.y+=((int) (movement_police.speed))+5;
}
if(pox<pux && poy<puy)//8
{
car_punk.x+=((int)(movement_police.speed))+5;
car_punk.y+=((int)(movement_police.speed))+5;
for(int i=0;i<=(movement_police.speed)/2;i++)
{
try
{
car_punk.rotate_ac();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
if(pox>pux && poy==puy)//4
{
car_punk.x-=((int)(movement_police.speed))+5;
}
if(pox<pux && poy==puy)//5
{
car_punk.x+=((int)(movement_police.speed))+5;
}
}
}
你可以編輯它,使其更容易閱讀和分析?間距實際上是關閉的。 –
我會馬上到它,騰出一分鐘 – theClassicFreak
一系列的*下*,*家*和*選項卡*是否:) – theClassicFreak