【发布时间】:2015-02-26 05:39:10
【问题描述】:
我想在按下空格键时绘制图像。这是我的代码:
void drawImage()
{
rect.x = 100;
rect.y = 100;
SDL_Surface *image = IMG_Load("image.png");
SDL_BlitSurface(image, NULL, screen, &rect);
}
这里叫:
while (SDL_PollEvent(&event))
{
if (event.type == SDL_QUIT)
{
gameRunning = false;
}
if (event.type == SDL_KEYDOWN)
{
if (event.key.keysym.sym == SDLK_SPACE)
{
drawImage();
}
}
}
当我按空格键时,图像未绘制。怎么了?
【问题讨论】:
-
也许你缺少翻转表面
-
@Photon 哎呀就是这样。但是当我按下空间时,图像会出现,但当我释放空间时,它会消失。那我该如何解决呢?
-
@WilhelmMichaelsen:SDL 是即时绘图,而不是保留的场景图。如果您希望图像在以后的帧中显示,则必须在以后的帧中再次渲染(将其保存在内存中,不要每次都访问文件)。