for 루프를 사용하여 마우스를 가져갈 수있는 영역을 나타내는 일부 배열을 반복 실행했습니다. 그런 다음 루프가 영역에 있음을 확인하면 반복 변수를 나중에 주 함수에서 사용되는 공용 변수에 저장하여 마우스가있는 영역을 강조 표시합니다. 문제는 for 루프가 첫 번째 반복에 대해 올바른 값을 제공하지 않는다는 것입니다.for 루프에서 홀수 출력
grid_region 비아되어있다
{
//mouse offsets
int x = 0, y = 0;
//if mouse moves
if (event.type == SDL_MOUSEMOTION)
{
//get the mouse co-ords
x = event.motion.x;
y = event.motion.y;
for (int grid = 0; grid <= sizeof(grid_region); grid++)
{
if ((x > grid_region[grid].x) && (x < grid_region[grid].x + GRID_WIDTH) && (y > grid_region[grid].y) && (y < grid_region[grid].y + GRID_HEIGHT))
{
//set highlight region
highlight = grid;
}
}
}
} "의 INT grid_region [9]" 이상한 부분은 나중에 grid_region [0]이 print 72 일 때 "강조 표시"가 무엇인지 확인하기 위해 print 문을 수행 할 때입니다. 반복 변수가 루프의 어느 지점에서나 72가 될 수있는 방법은 무엇입니까 ??? 도움이 필요 하신가요? 나는 나중에 grid_region에서 스프라이트를 적용하기 위해 하이라이트를 사용하는데 이것은 잘못 적용되어 문제가됩니다.
바깥 쪽 for 루프의 테스트에서 볼 수있는 한 가지 문제점은 아마도'grid