我正在尝试制作一个能够使用 SDL 检测按键的程序。
我当前的代码是别人的修改版本(在制作我自己的版本之前试图让它工作)。
#include "SDL/SDL.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
//Start SDL
if(0 != SDL_Init(SDL_INIT_EVERYTHING)) {
std::cout << "Well I'm screwed\n";
return EXIT_FAILURE;
}
SDL_Surface* display;
display = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_Event event;
bool running = true;
std::cout << "Cake"; //Testing output (doesn't work)
while(running) {
std::cout << "Pie"; //Again, testing output and again doesn't work
if(SDL_PollEvent(&event)) { //I have tried this is a while statement
switch(event.type) {
case SDL_KEYDOWN:
std::cout << "Down\n"; // Have tried "<< std::endl" instead of "\n"
break;
case SDL_KEYUP:
std::cout << "Up\n";
break;
case SDL_QUIT:
running = false;
break;
default:
break;
}
}
}
//Quit SDL
SDL_Quit();
return 0;
}
此代码应该检测任何按键/向上并输出它,但它不输出任何内容。
我的最终目标是让它检测到 konami 代码,然后做一些事情。
我不断更新上面的代码,使其与我正在使用的代码相同(除了添加了人们建议的注释)。
如果它有帮助:g++ -o myprogram.exe mysource.cpp -lmingw32 -lSDLmain -lSDL
是我用来编译的命令。(如果你没有从命令中弄清楚,我运行的是windows(7)。)编译时没有错误发生
我现在得到了任何输出,这让我相信我的概率与密钥检查无关;但是有可能是不正确的。