나는 내 작은 하향식 게임에서 작동하도록 충돌을 시도하고 있습니다. 플레이어를 쫓고있는 엔티티가 많습니다. 내가 충돌하지 않는다면, 분명히 모두 똑같은 번들로 묶일 것입니다. 나는 충돌이 있었는지 확인하는 방법을 알고 있지만 어떻게 반응하는지는 알 수 없습니다. 몇 시간 동안 그걸로 어지럽히는 것에서 다소 효과가 있지만,별로 좋지는 않습니다.플레이어를 쫓는 엔티티 간의 충돌 감지
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/ –