我是SDL2的新手,我正在开发一个用C ++编写的小型2D游戏。我正在试图弄清楚如何使用这个库进行一些简单的操作,主要是因为我想从这次经历中学到一些新东西。
我有很多元素,其中一些是可渲染的项目,是场景的一部分,而另一些则是HUD项目。我面临的问题是我想放大和缩小场景而不影响HUD元素 这就是我接触它的方式:
SDL_CreateWindowAndRenderer
创建了默认窗口和渲染器。SDL_CreateTexture
从渲染器中创建了一个纹理,并将纹理访问模式设置为SDL_TEXTUREACCESS_TARGET
。SDL_SetRenderTarget
将渲染上下文设置为目标纹理,然后复制纹理。SDL_RenderCopy
复制目标纹理。到目前为止一切顺利,一切都按预期工作,当通过SDL_RenderCopy
将目标纹理复制到渲染器时,我可以通过使用正确的源和目标矩形轻松放大和缩小场景。
我的问题是:这是一种明智的做法还是有更好的解决办法呢? 它工作得很好,这很好,但它看起来有点棘手,我并不完全相信。