我一直在試圖讓我的小自上而下的遊戲碰撞。我有一羣追逐玩家的實體。如果我沒有碰撞,他們顯然會最終捆綁在同一個地方。我知道如何檢查是否有碰撞,但是如何對它做出反應是我無法弄清楚的。我從幾個小時就搞定了它,但它並不是很好。追逐玩家的實體之間的碰撞檢測
if (check_collision(enemies[e1]->xPos, enemies[e1]->yPos, SIZE_ENEMY, SIZE_ENEMY, enemies[e2]->xPos, enemies[e2]->yPos, SIZE_ENEMY, SIZE_ENEMY) == true)
{
//the distance that is intersecting
float dx, dy;
if (enemies[e1]->xPos > enemies[e2]->xPos)
dx = enemies[e2]->xPos + SIZE_ENEMY - enemies[e1]->xPos;
if (enemies[e2]->xPos > enemies[e1]->xPos)
dx = enemies[e1]->xPos + SIZE_ENEMY - enemies[e2]->xPos;
if (enemies[e1]->yPos > enemies[e2]->yPos)
dy = enemies[e2]->yPos + SIZE_ENEMY - enemies[e1]->yPos;
if (enemies[e2]->yPos > enemies[e1]->yPos)
dy = enemies[e1]->yPos + SIZE_ENEMY - enemies[e2]->yPos;
if (dx < dy)
{
enemies[e1]->xPos += (dx/2);
enemies[e2]->xPos -= (dx/2);
}
if (dy < dx)
{
enemies[e1]->yPos += (dy/2);
enemies[e2]->yPos -= (dy/2);
}
}
我可能只是完全做錯了,或者我可能只是缺少一些東西,所以任何幫助表示讚賞。
希望,我還沒有做出錯誤你可能有更多的運氣張貼在http://gamedev.stackexchange.com/ – 2011-12-27 17:43:35