2014-03-30 73 views
0

如何在程序中間消失模型或更改背景我試圖消失 SDL_FreeSurface(dot); 但我沒有work.so如何消除模型並加載另一個模型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)的blit表面每while循環週期,這會讓你的指針指向沒有任何東西會什麼都不顯示(又名消失),但如果你是從字面上講消失,你可以減少1阿爾法(或任何你爵士)在for循環,這將使它淡出喜歡它消失,