2014-03-30 4 views
0

어떻게하면 모델이 사라질 수 있으며 program.i의 중간에 배경이 바뀔 수 있습니다.SDL_FreeSurface(dot); 으로 사라지려고하지만 모델을 사라지게하고 다른 것을로드 할 수있는 방법이 없습니다. model.i이 시도하지만 성공.SDL 1.2에서 모델이 사라짐

void clean_up() 
{ 
    SDL_FreeSurface(model); 
} 

while(quit == false) 
    { 

     while(SDL_PollEvent(&event)) 
     { 

      if(event.type == SDL_MOUSEBUTTONDOWN) 
      { 
        clean_up(); 
      } 
     } 
    } 

은 내가 SDL_FreeSurface 그냥 화면에없는 메모리 모델을 확보 있다고 생각합니다. 및 약

+0

) 렌더러에서 텍스처를 제거해야합니다. SDL_FreeSurface는 SDL_Surface에 대한 리소스 만 해제하지만 텍스처는 여전히 유효합니다. 아마도 렌더링 코드를 게시 할 수 있습니까? – Hjorthenify

+0

SDL1.2에 텍스처 유형이 없습니다. 당신의 표면을 어떻게 표현 하느냐에 달렸습니다. – this

답변

0

SDL1.2는 구식입니다. SDL2를 사용하십시오. 당신이 함수의 표면을 확보 한 후 어쨌든 솔루션에 대한

, model = NULL;을 추가하고 while 루프의 끝에 SDL_Flip(model)을 추가하여 표면마다 while 루프주기 블럭 전송이는 것 아무것도 포인터 지점을 만들 것입니다 아무것도 표시하지 않습니다 (일명 사라짐). 문자 그대로 소실에 대해 이야기하는 경우 for 루프에서 알파를 1 씩 줄이면 소실되는 것처럼 사라집니다 (