함수를 한번에 한번씩만 호출되게 하고 싶어요..
LimeTree
opengl을 공부하고 있지만 코드는 c에 관한 내용이라 opengl과 연관이 없더라도
도움을 주실 수 있을거라 믿어 의심치 않습니당 ㅠㅠ현재 곡선을 그리고 그 그린 곡선 좌표값대로 물체가 이동하는 코드를 짜고 있어요void check(void)
{
int k;for(k=1; k100; k++)
{
if(Spline_X[k]Spline_X[k-1] || Spline_Y[k]Spline_Y[k-1])
{
x_move=Spline_X[k]; //x좌표값
y_move=Spline_Y[k]; //y좌표값
}
}
}Spline_X[k] 위치값을 이동 시키는 거예요 (Spline_X[0] 이 배열에 담긴 x좌표값이 0이라고 가정할게요 Spline_X[1]은 1...)그리고 main에check();이렇게 해놔서 함수가 호출되는 형식인데요..이 check 함수가 한번에 한번씩만 호출되게 할 수 없을까요?지금 문제가 for(k=1; k100; k++)이라서 최종적으로 Spline_X[100] (여기에 담긴 x좌표값은 100) 까지 가잖아요?얘가 실행을 하면 한번에 x좌표가 100값으로 가게 되요 저는 좌표값이 0-1-2- ... - 100 이렇게 가게 하고 싶은데 위의 check 함수가 for문이 계속 돌아가니까 0 - 100 으로 인식되어서 저런 현상이 일어나는 것 같아요..다른 예를 들면 void check(void)
{
int k;for(k=1; kpartition; k++)
{
if(Spline_X[k]Spline_X[k-1] || Spline_Y[k]Spline_Y[k-1])
{
if(!op) //bool 함수 초기값은 0
{
x_move=Spline_X[k];
y_move=Spline_Y[k];
op=1;
}
}
}
}이런 식으로 bool함수를 넣으면 Spline_X[0] - Spline_X[1] 한번만 돌고 멈추니까 이때는 0 - 1 까지만 이동하고 멈추는데..이걸 어떻게든 조작해서 check 함수 한번에 다음 배열 한칸씩만 호출하게 하고 싶어요..너무 질문이 조잡하네요 ㅠㅠ 이거 하나 땜에 과제 진행을 못 하고 있어서..지푸라기라도 잡는 심정으로 올려봅니당