【发布时间】:2020-12-07 16:10:50
【问题描述】:
我目前正在关注 LazyFoo 的 SDL 教程,我已经达到了 Texture Manipulation 部分,但我遇到了问题。我第一次调用 SDL_LockTexture 时,它可以很好地更新纹理。但是,在 SDL_UnlockTexture 之后,如果我再次尝试锁定纹理,它现在会返回一个指向一组零像素的指针,而不是上次解锁后设置的指针。
SDL_LockTexture(newTexture, NULL, &pixels, &pitch);
memcpy(pixels, formattedSurface->pixels, formattedSurface->pitch * formattedSurface->h);
SDL_UnlockTexture(newTexture);
pixels = NULL;
这是将加载表面的像素复制到空纹理的初始代码,如果此时渲染,它会显示正确的图像。
但是,如果纹理被锁定并再次解锁,则显示的图像是一个黑框(每个像素的值为0)
我完全被难住了。如果需要更多信息,请告诉我。
【问题讨论】: