C++ SDL1.2中的模型消失 如何在程序中间消失模型或改变背景。我试图消失。 SDL_自由曲面(点); 但我没有工作。因此,我如何才能消失一个模型并加载另一个模型。我尝试了这个方法,但没有成功 void clean_up() { SDL_FreeSurface( model ); } while( quit == false ) { while( SDL_PollEvent( &event ) ) { if( event.type == SDL_MOUSEBUTTONDOWN ) { clean_up(); } } }

C++ SDL1.2中的模型消失 如何在程序中间消失模型或改变背景。我试图消失。 SDL_自由曲面(点); 但我没有工作。因此,我如何才能消失一个模型并加载另一个模型。我尝试了这个方法,但没有成功 void clean_up() { SDL_FreeSurface( model ); } while( quit == false ) { while( SDL_PollEvent( &event ) ) { if( event.type == SDL_MOUSEBUTTONDOWN ) { clean_up(); } } },c++,sdl,C++,Sdl,我认为,SDL_freessurface只是在内存中释放模型,而不是在屏幕中释放模型。 SDL1.2已经过时,请使用SDL2。不管怎样,解决办法 在函数中释放曲面后,添加model=NULL,并通过在while循环的末尾添加一个SDL\u Flip(model)来在每个while循环中blit曲面,这将使您的指针指向不显示任何内容的内容(也称为“消失”),但如果您真正谈论的是消失,则可以将alpha减少1(或任何jazz)在for循环中,将使其淡出,就像消失一样,您必须从渲染器中删除纹理。SDL

我认为,
SDL_freessurface
只是在内存中释放模型,而不是在屏幕中释放模型。
SDL1.2已经过时,请使用SDL2。不管怎样,解决办法


在函数中释放曲面后,添加
model=NULL
,并通过在while循环的末尾添加一个
SDL\u Flip(model)
来在每个
while循环中blit曲面,这将使您的指针指向不显示任何内容的内容(也称为“消失”),但如果您真正谈论的是消失,则可以将alpha减少1(或任何jazz)在
for循环中,将使其淡出,就像消失一样,

您必须从渲染器中删除纹理。SDL_FreeSurface仅释放SDL_曲面的资源,但纹理仍然有效。也许您可以发布渲染代码?SDL1.2没有纹理类型。取决于曲面的显示方式。