2
스프라이트를 사용하는 간단한 DirectX 9 2d 게임에서 작업 중입니다. 필자는 책과 온라인에서 발견 한 코드 스 니펫을 하나의 작은 엔진으로 작성하여 응용 프로그램의 충돌 감지 요소까지 전달했습니다.충돌 감지 중 스택 오버플로 오류
void Game::UpdateSprite(int e)
{
UINT collision;
for(int f = 0; f < MAX_SPRITES; f++)
{
if(m_Sprites[f].occupied && m_Sprites[e].occupied && f != e)
{
collision = IsCollision(f, e);
switch (collision)
{
case BOTTOM:
m_Sprites[e].movey *= -1;
m_Sprites[f].movey *= -1;
break;
case TOP:
m_Sprites[e].movey *= -1;
m_Sprites[f].movey *= -1;
break;
case RIGHT:
m_Sprites[e].movex *= -1;
m_Sprites[f].movex *= -1;
break;
case LEFT:
m_Sprites[e].movex *= -1;
m_Sprites[f].movex *= -1;
break;
case NOCOLLISION:
break;
}
UpdateSprite(e);
UpdateSprite(f);
}
}
}