c++ - cpp 尝试加载图像但没有响应的错误
问题描述
我正在尝试在我的窗口上加载图像,当我在 Visual Studio 代码中运行代码时...弹出窗口并且它只是一个空白屏幕...直到我按下角落上的退出按钮。我的图像显示一秒钟然后窗口关闭....如果您有任何想法或意见,请告诉我,谢谢!代码如下所示。
<SDL.h>
#include <iostream>
int main(int argc, char* argv[])
{
SDL_Window* window = nullptr;
SDL_Surface* WindowSurface = nullptr;
SDL_Surface* image1 = nullptr;
SDL_Surface* image2 = nullptr;
SDL_Surface* currentImage = nullptr;
SDL_Init(SDL_INIT_VIDEO);
window = SDL_CreateWindow("sdl Window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
WindowSurface = SDL_GetWindowSurface(window);
image1 = SDL_LoadBMP("Red_sheet_full_2.bmp");
image2 = SDL_LoadBMP("Red_sheet_fullA.bmp");
currentImage = image1;
bool isRunning = true;
SDL_Event ev;
while (isRunning)
{
while (SDL_PollEvent(&ev) != 0);
{
if (ev.type == SDL_QUIT)
isRunning = false;
else if (ev.type == SDL_KEYDOWN)
{
switch (ev.key.keysym.sym)
case SDLK_1:
currentImage = image1;
break;
switch (ev.key.keysym.sym)
case SDLK_1:
currentImage = image1;
break;
}
}
}
SDL_BlitSurface(currentImage, NULL, WindowSurface, NULL);
SDL_UpdateWindowSurface(window);
SDL_FreeSurface(image1);
SDL_FreeSurface(image2);
SDL_DestroyWindow(window);
currentImage = image1 = image2 = nullptr;
SDL_Quit();
return 0;
}
解决方案
推荐阅读
- javascript - 为什么 Firebase 命令不起作用?
- linux - MacOS 中的 Bash 脚本与 LInux 有何不同?
- php - Laravel 调用未定义的方法 App\\Model ::mapInto(), vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\ForwardsCalls.php
- c++ - MSVC 是否支持 C++11 样式的属性而不是 __declspec?
- python - for 关键字是否理解字符串是迭代?
- flutter - 如何在 post 方法中包含对象?HTTP
- android - Android如何创建梯形形状
- java - 在 Java 运算符方面需要一些帮助,得到“一元运算符的错误操作数类型 int”错误
- python - 带有池和上下文管理器的 Python 多处理
- python - 如何使用 python 从分组数据框中插入图表名称作为变量?